Commit Graph

2100 Commits

Author SHA1 Message Date
Vincent Sanders
b2f5c80ef8 trivial documentation cleanups 2019-08-04 11:25:35 +01:00
Daniel Silverstone
1905200154 Add content handlers for queries
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-04 11:22:40 +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
Daniel Silverstone
4e95b7aedf download: Include log.h
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-03 21:53:34 +01:00
Daniel Silverstone
09eb89e3c3 Migrate query dispatch up from llcache to hlcache
As a first step in refactoring query handling to be managed
by `browser_window`, this migrates the calling of the query
handler from the llcache object code up to the hlcache.

In theory this may result in multiple queries happening for one
object, but we mitigate multiple-responses in the llcache so
all should be well.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-03 21:13:19 +01:00
Daniel Silverstone
1866f3a3d1 local_history: Improve up/down navigation
When pressing up/down on a node when you can't go up/down the
window will now search for a parent node which is a child of
a branching point, and move to that and try again for the up/down
movement.  This makes it slightly more intuitive to move through
the tree.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-03 17:14:14 +01:00
Michael Drake
342b65fd76 Corewindow helper: Add documentation for cw_helper_scroll_visible() 2019-08-03 16:38:09 +01:00
Michael Drake
3938d5340b Corewindow: Sanitise scrolling API.
Now the core has a helper so that all the front ends don't need
to implement the scroll to show area API.

Now they simply have get and set scroll APIs.
2019-08-03 15:57:23 +01:00
Michael Drake
8cff4b79d6 Corewindow helper: Add helper to scroll to visible rectangle.
This takes the algorithm from the GTK front end and puts it in the
core, so it doesn't need to be implemented for every front end.
2019-08-03 15:54:46 +01:00
Vincent Sanders
402e16e5d1 improve browser_window_set_scale
Allow scale setting to use an absolute value or a relative value. This
also imposes sanity limits on the scale range (currently 0.2 to 10.0)
and removes the old junk "all" parameter.
2019-08-03 15:50:43 +01:00
Vincent Sanders
d4c01894c2 change browser_window_get_features to use unscaled coordinates 2019-08-03 14:29:06 +01:00
Vincent Sanders
0ebfff259f change browser_window_mouse_track to use unscaled coordinates 2019-08-03 14:29:05 +01:00
Vincent Sanders
0a8ed41a1a change browser_window_mouse_click to use unscaled coordinates
this means frontends no longer need to scale mouse click events thus
simplifying their implementation.
2019-08-03 14:29:05 +01:00
Daniel Silverstone
acad436d68 treeview: Support scrolling to the highlighted node
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 21:34:53 +01:00
Michael Drake
813a284e9e Local history: Consolidate thumbnail dimensions. 2019-08-02 21:23:06 +01:00
Michael Drake
ab03b204ba Local history: Treat thumbnail dimensions as CSS pixels. 2019-08-02 21:10:15 +01:00
Daniel Silverstone
818f4018d2 local_history: Handle keys for navigating local history
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 20:59:47 +01:00
Daniel Silverstone
1ee32fe962 local_history: Add concept of a cursor to the local history
So that we can eventually navigate around local history by
keyboard, add the concept of a history cursor to the local
history core window.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 20:59:08 +01:00
Vincent Sanders
552aab42e1 remove scaled parameter from get_dimensions 2019-08-02 12:26:20 +01:00
Vincent Sanders
4ae27a6592 remove scaling from internal browser get_dimensions calls 2019-08-02 12:26:19 +01:00
Michael Drake
de12be4e9c Browser window: Make invalidate gui callback use unsacled coordinates. 2019-08-01 22:34:13 +01:00
Vincent Sanders
7f612548e7 reformat and tidy up browser window code ready for corewindow changes 2019-08-01 19:51:19 +01:00
Vincent Sanders
5742762070 split browser and browser_window operations 2019-08-01 19:51:19 +01:00
Vincent Sanders
83c9d2017f Fix clamping in commit fa64763b0d 2019-08-01 14:38:20 +01:00
Daniel Silverstone
fa64763b0d browser_history.c: Clamp contents to be 1x1 at min.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-01 09:29:22 +01:00
Daniel Silverstone
22ee6621fe treeview: Correct mis-freeing in treeview_create error path
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-01 09:04:17 +01:00
Vincent Sanders
f4878b4c17 Update version for next development cycle 2019-07-17 11:39:46 +01:00
Vincent Sanders
cfdaf181a2 cleanup browser window message handling
separate out ready and done message processing to make the code
 more readable.

remove checking of content status as content_close() handles that
 itself.
2019-07-10 17:08:29 +01:00
Daniel Silverstone
03624bcf7a browser.c: Don't require > 0 chars in logging
Sometimes JavaScript chooses to log an empty string.  We should
honour that by requiring msg be a valid empty string.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-06-09 15:20:17 +01:00
Daniel Silverstone
c47cc08883 Ensure we set the defaults for the log options to those compiled in
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-28 20:49:12 +01:00
Michael Drake
b38f7cc718 Browser window: Handle the content msg for getdims. 2019-05-06 15:38:33 +01:00
Michael Drake
a4da4612c2 Logging: Bump lwc leak exit report to WARNING level. 2019-05-06 13:06:22 +01:00
Daniel Silverstone
6fdc692aa5 Support DEBUG log level in console_log
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-06 10:16:48 +01:00
Daniel Silverstone
0312c45d6f Use console_log from browser_window_console_log
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-06 09:49:46 +01:00
Daniel Silverstone
d240174741 Add console_log to gui tables
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-06 09:49:11 +01:00
Vincent Sanders
35bc2ccbb8 change content get_source_data interfaces to return uint8_t and size_t
previously these interfaces returned char * and unsigned int which was
undesirable.
2019-05-05 22:50:25 +01:00
Daniel Silverstone
8474c5d4c0 Logging: migrate and provide content interface
Migrate the console enums into netsurf/console.h and add
support so that contents can raise a message to log to
the console.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-05 22:17:10 +01:00
Daniel Silverstone
6952a23946 Provide new browser_window_console_log() API
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-05 22:17:10 +01:00
Daniel Silverstone
1146f8bf49 Add browser_window_exec
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-05 16:00:03 +01:00
Michael Drake
9501c9e68d Treeview: Consider search bar for redraw area calculation. 2019-01-19 15:12:03 +00:00
Michael Drake
83798a83b7 Treeview: Use helper to get tree height. 2019-01-19 15:11:35 +00:00
Michael Drake
c6f92f2f2a Treeview: Consolidate search bar height calculation. 2019-01-19 14:54:57 +00:00
Michael Drake
7e08cf4352 Treeview: Fix designated struct initialisation. 2018-10-04 20:24:10 +01:00
Vincent Sanders
ba4b06dc04 Update version for next development cycle 2018-08-29 10:52:51 +01:00
Michael Drake
9c29935f3c HTTP Auth: Squash error path leaks. 2018-08-15 11:11:54 +01:00
Michael Drake
81a59f2f7c HTTP Auth: Do get/set auth in the core. 2018-08-14 18:52:11 +01:00
Michael Drake
19eb051727 HTTP authentication: Add some logging when opening 401 windows. 2018-08-09 17:18:39 +01:00
Michael Drake
42459f72c1 Treeview: Allow dragging selection to a selected target.
This can be used to consolidate a scattered selection at
drop target when the the drop target happens to be part
of the selection.
2018-07-26 15:13:13 +01:00
Michael Drake
341cfc115b Treeview: Various changes to redraw rectangle for search bar. 2018-07-26 15:00:36 +01:00
Michael Drake
eeb7be1cbf Browser: Add function to get bw URL with any fragment.
This returns a ref to the URL.
2018-07-23 11:33:43 +01:00
Michael Drake
09b015bf11 Browser: Rename function to access bw URL. 2018-07-23 10:47:26 +01:00
Michael Drake
8332bf6b2a Plotters: Remove width param from path plotter.
We now use the stroke_width in the plot_style.
2018-05-23 13:48:17 +01:00
Michael Drake
66493421e6 Plotters: Change stroke width in the plot_style_t to fixed point. 2018-05-23 13:04:19 +01:00
Michael Drake
a58d97a41a Plotters: Add plot_style_fixed type, and use for font size. 2018-05-23 11:48:35 +01:00
Vincent Sanders
216fb88f58 clean up html content handler header use
Improve header use in preperation for making browser window a corewindow
2018-05-11 13:18:54 +01:00
Vincent Sanders
2a03ea3049 move html and text content handlers where they belong 2018-05-10 13:37:02 +01:00
Michael Drake
a72771f8eb Browser: Don't add history entry until after reformat.
Adding a history entry causes content_redraw() for the thumbnail.
But we can't content_redraw() until after content_reformat().

Otherwise we get HTML redraw before HTML layout has happened.
2018-04-14 17:00:18 +01:00
John-Mark Bell
7a75ec1576 History: don't update if there's no content.
Fixes #2566.
2018-01-20 18:47:26 +00:00
Michael Drake
6be6fa1b21 CSS utils: Handle new units in length conversion routines.
This causes a ripple effect of all the callsites needing
information they didn't have.
2018-01-05 13:49:51 +00:00
Michael Drake
2557335f1b Squash GCC7 warning for ‘~’ on a boolean expression. 2017-10-23 09:50:27 +01:00
Vincent Sanders
7fa4b36245 Update version for next development cycle 2017-10-15 14:44:53 +01:00
Michael Drake
8f0f44e3d1 Treeview: Ignore mouse leaving the treeview window. 2017-09-27 17:47:34 +01:00
Michael Drake
3f4bc9d284 Treeview: Deactivate search on cancel. 2017-09-25 12:02:14 +01:00
Michael Drake
9ca33854bf Browser history: Don't segfault when visiting pages with frames.
Core can't make queries of front end about browser windows with no
gui window.
2017-09-23 16:10:45 +01:00
Michael Drake
fb4be0feb2 Browser history: Create new history entries early in the READY state.
This prevents us updating the previous history entry with this page's
scroll offsets.
2017-09-23 16:03:31 +01:00
Michael Drake
628fb0ceef Browser history: Update history scroll offsets on scroll to fragment. 2017-09-23 16:02:38 +01:00
Daniel Silverstone
a43d0cec7a Add concept of browser scroll offset saving in local history 2017-09-23 14:55:52 +01:00
Michael Drake
f86e9e505d Treeview: When expanding nodes in search view, adjust height only for matching entries. 2017-09-22 09:39:47 +01:00
Michael Drake
f653c33147 Treeview: Ensure we know our treeview when doing treeview node collapse. 2017-09-22 09:39:02 +01:00
Michael Drake
73adebf263 Treeview: Cancel any search when treeview is detatched from its corewindow. 2017-09-22 09:37:50 +01:00
Michael Drake
798bfbf80f Treeview: Split out search cancel functionality. 2017-09-22 09:37:25 +01:00
Michael Drake
3b1992d3f4 Treeview: Destroy search first on treeview destruction. 2017-09-18 23:32:36 +01:00
Michael Drake
ec4b9a5dd0 Hotlist (bookmarks): Include the URL field in search. 2017-09-18 23:18:44 +01:00
Michael Drake
9b0a3cc35e Global history: Flag the URL field as searchable, as well. 2017-09-18 23:18:44 +01:00
Michael Drake
e8b9678d3e Cookie manager: Flag the domain field as searchable; more use than name. 2017-09-18 23:18:44 +01:00
Michael Drake
fae758f5a9 Treeview: Avoid searching empty treeview. 2017-09-18 23:18:44 +01:00
Michael Drake
bfdabbf478 Cookie manager: Enable search feature. 2017-09-18 23:18:44 +01:00
Michael Drake
fb5344df09 Hotlist (bookmarks): Enable search feature. 2017-09-18 23:18:44 +01:00
Michael Drake
88c9a2e12d Global history: Enable search feature. 2017-09-18 23:18:44 +01:00
Michael Drake
4e224135ec Treeview: Handle node expansion on switch between search and normal view. 2017-09-18 23:18:44 +01:00
Michael Drake
39ab8b6233 Treeview: Update search filtered display on treeview changes. 2017-09-18 23:18:44 +01:00
Michael Drake
2a294adfb1 Textarea: Add API to access current textarea contents. 2017-09-18 23:18:44 +01:00
Michael Drake
4d84222654 Treeview: Update search bar display when it loses focus. 2017-09-18 23:18:44 +01:00
Michael Drake
f211b6c89a Treeview: Only let search textarea consume mouse if not dragging. 2017-09-18 23:18:44 +01:00
Michael Drake
89dd127a80 Treeview: Update mouse handling details for filtered view.
No moves are allowed in viltered view.
Node indents are constant in filtered view.
2017-09-18 23:18:44 +01:00
Michael Drake
283fb36339 Treeview: Update treeview walker to handle walking the filtered display. 2017-09-18 23:18:44 +01:00
Michael Drake
f142b3684c Treeview: Track height of display in search view. 2017-09-18 23:18:44 +01:00
Michael Drake
45a7e6269b Treeview: Slight simplification of treeview_walk_internal(). 2017-09-18 23:18:44 +01:00
Michael Drake
0a0ad71bdb Treeview: Fix function namespace. 2017-09-18 23:18:44 +01:00
Michael Drake
db6b3441c4 Treeview: Scroll to top when treeview search bar is modified. 2017-09-18 23:18:44 +01:00
Vincent Sanders
8afeffedad fix warning due to undefined bitmap structure 2017-09-11 16:44:46 +01:00
Vincent Sanders
d2d5ef276b annotate error case fall through in switch to supress warnings 2017-09-11 16:43:25 +01:00
Vincent Sanders
8fb2fc6fc3 rationalise history icon bitmap handling to ensure correct lifetime 2017-09-10 16:06:38 +01:00
Michael Drake
c20ad21273 Treeview: Add support for rendering search filter matches as-you-type. 2017-09-10 15:53:15 +01:00
Michael Drake
c478f35c81 Treeview: Split tree-style treeview rendering out into helper. 2017-09-10 15:53:15 +01:00
Michael Drake
f41f7486ba Treeview: Add node matching to search text modification callback. 2017-09-10 15:53:15 +01:00
Michael Drake
d627b930f2 Treeview: API: Allow treeview fields to be flagged searchable. 2017-09-10 15:53:15 +01:00
Michael Drake
50688cde51 Treeview: Improve some code wrapping. 2017-09-10 15:53:15 +01:00
Michael Drake
37127c4a52 Treeview: Ensure window extents take account of search bar presence. 2017-09-10 15:53:15 +01:00
Michael Drake
43cdd74221 Treeview: Add keypress handling to the search bar. 2017-09-10 15:53:15 +01:00
Michael Drake
3a02a4ea48 Treeview: Handle mouse clicks on search bar. 2017-09-10 15:53:15 +01:00
Michael Drake
adbcb7f1b9 Treeview: Update treeview mouse handling to offset for search bar presence. 2017-09-10 15:53:15 +01:00
Michael Drake
f877069399 Treeview: Add search bar rendering to redraw function. 2017-09-10 15:53:15 +01:00
Michael Drake
3d2adf4330 Treeview: Create and destroy a textarea for search. 2017-09-10 15:53:15 +01:00
Michael Drake
1420d01a21 Treeview: Add search drag type to enumeration. 2017-09-10 15:53:15 +01:00
Michael Drake
521651ea51 Treeview: API: Add searchable flag for treeview creation. 2017-09-10 15:53:15 +01:00
Vincent Sanders
ec94d5f812 move history bitmap thumbnail into the page information structure 2017-09-10 10:31:06 +01:00
Michael Drake
02a8b5bca0 Treeview: Split out textarea construction helper. 2017-09-09 14:38:49 +01:00
Daniel Silverstone
bb056e55b1 Sort out the logging so that -v etc do the right thing 2017-09-08 21:15:54 +01:00
Vincent Sanders
75018632a9 Use coccinelle to change logging macro calls in c files
for F in $(git ls-files '*.c');do spatch --sp-file foo.cocci --in-place ${F};done

@@ expression E; @@
-LOG(E);
+NSLOG(netsurf, INFO, E);
@@ expression E, E1; @@
-LOG(E, E1);
+NSLOG(netsurf, INFO, E, E1);
@@ expression E, E1, E2; @@
-LOG(E, E1, E2);
+NSLOG(netsurf, INFO, E, E1, E2);
@@ expression E, E1, E2, E3; @@
-LOG(E, E1, E2, E3);
+NSLOG(netsurf, INFO, E, E1, E2, E3);
@@ expression E, E1, E2, E3, E4; @@
-LOG(E, E1, E2, E3, E4);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4);
@@ expression E, E1, E2, E3, E4, E5; @@
-LOG(E, E1, E2, E3, E4, E5);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5);
@@ expression E, E1, E2, E3, E4, E5, E6; @@
-LOG(E, E1, E2, E3, E4, E5, E6);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5, E6);
@@ expression E, E1, E2, E3, E4, E5, E6, E7; @@
-LOG(E, E1, E2, E3, E4, E5, E6, E7);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5, E6, E7);
2017-09-06 18:45:27 +01:00
Michael Drake
b35b3c1364 Search web: Ensure hlcache callbacks handle errorcode. 2017-08-28 12:10:27 +01:00
Michael Drake
7385f74141 Browser favicon: Handle errorcode in the hlcache callback. 2017-08-28 11:04:42 +01:00
Vincent Sanders
2b2bbbe765 fix resource leak on error in local history initialisation 2017-06-12 22:58:43 +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
ee749f2b11 cleanup use of internal frames scrollbar widget header 2017-06-11 11:46:50 +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
Michael Drake
1d31402dcb Core local history: Remove debug background fill. 2017-06-10 12:05:23 +01:00
Michael Drake
56daba5878 Core local history: Make rendering behave like treeview.
This fixes behaviour now that both treeviews and local history can
be rendered through core window.
2017-06-10 11:50:53 +01:00
Michael Drake
368b03bffb Local history: Pass clip rectangle around as struct. 2017-06-10 11:15:20 +01:00
Michael Drake
283d921f34 Core local history: We always clip, so don't need to handle condition. 2017-06-10 10:44:33 +01:00
Michael Drake
5225ca2b90 Core local history: Remove unused redraw API. 2017-06-10 10:40:43 +01:00
Michael Drake
3b18d36b02 Local history: Render window background fill. 2017-06-09 21:58:16 +01:00
Vincent Sanders
703427a486 Update documentation removing junk and moving to markdown for most text files 2017-06-09 17:30:00 +01:00
Vincent Sanders
f1fdd93ffd Add local history get url API 2017-05-28 21:56:33 +01:00
Vincent Sanders
ac732fb79d update invalidate area core window API
slightly extends the invalidate core window API with error return and
whole window invalidation. Also renames it to be more inline with
browser window API call.

cannot quite reuse browser window API yet as that applies scaling
2017-05-23 09:41:29 +01:00
Michael Drake
ad3da6c139 Core hotlist: Improve hotlist_init documentation. 2017-04-28 12:09:58 +01:00
Michael Drake
06baaa9f7c Core hotlist: A NULL save_path makes the hotlist read-only. 2017-04-28 12:02:48 +01:00
Vincent Sanders
87066f9f8d simplify the browser window operations by removing scroll API
The browser window scrollingAPI was duplicated in window operation
table, this simplifies it to a single set_scroll API.
2017-04-26 20:48:54 +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
Michael Drake
31d98a1d2e Core hotlist: Ensure any hotlist save callback is removed on hotlist_fini. 2017-04-25 15:14:56 +01:00
Michael Drake
479c3fd0b5 Hotlist: Save hotlist modifications.
When URLs are added, or address entries are edited or deleted,
a hotlist save is scheduled to happen after 10 seconds, if there
isn't already a hotlist save scheduled.
2017-04-25 13:09:44 +01:00
Michael Drake
c47b9f465c Core hotlist API: Take save path at init, rather than fini. 2017-04-25 11:52:47 +01:00
Vincent Sanders
14bff8d023 replace redraw and update methods with invalidate in window table API 2017-04-19 16:23:08 +01:00
Vincent Sanders
93e2b4855b make mimesniffing use core strings 2017-03-19 15:00:21 +00: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
028c4e2860 improve documentation comments in ssl certificate viewer 2017-03-01 23:47:27 +00:00
Vincent Sanders
44c5aef1c8 make scrollbar redraw signal errors correctly
allow scrollbar redraw to return error codes and update documentation
commenst appropriately.
2017-03-01 23:30:29 +00:00
Vincent Sanders
2f5e5620e2 Change interface to system colours to allow reporting of errors
Allow system colour interface to report errors instead of silently
failing and propogate the errors. This also fixes teh system colour
documentation.
2017-03-01 12:50:30 +00:00
Vincent Sanders
e72b89ac3d Improve treeview documentation comments 2017-02-28 23:41:48 +00:00
Vincent Sanders
d9a2c7b9c1 fix some doxygen errors 2017-02-24 14:02:31 +00:00
Vincent Sanders
1820bb7e63 fix remaining doccomment errors 2017-02-22 08:30:58 +00:00
Vincent Sanders
0f69965805 clean up some of the doxygen generation warnings 2017-02-19 11:32:17 +00:00
Vincent Sanders
c60cb335f2 add local history corewindow API 2017-02-17 09:06:25 +00:00
Vincent Sanders
6741b6e287 clean up incorrect documentation comments from plotter API rework 2017-02-14 23:06:04 +00:00
Chris Young
20e3dc6d2a fix build 2017-02-14 17:24:49 +00:00
Chris Young
edaa9c29f2 Remove use of global context data from Amiga frontend 2017-02-13 00:18:32 +00:00
Vincent Sanders
7b9fa8d7eb fix plotter merge 2017-02-12 20:31:18 +00:00