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
df89f689f7
make the pseudo css fetcher report initialisation errors
2014-10-25 23:07:00 +01:00
Michael Drake
eed2a97eca
Add bw function to get scrollbar type.
2014-10-25 12:04:11 +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
Vincent Sanders
1097cc40b4
remove unecessary browser.h include from core headers
2014-10-17 12:21:52 +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
Michael Drake
4ba7ae1d82
Fix with ugly -- but commented -- hack.
2014-10-16 14:35:57 +01:00
Michael Drake
63645c4c32
Fix core create_form_select_menu API to pass gw, rather than bw out to front ends.
2014-10-16 12:39:31 +01:00
Michael Drake
11faa1cef8
Remove trailing whitespace.
2014-10-15 09:35:43 +01:00
Vincent Sanders
17be8cf216
Put the font operations table alongside all the other core API
...
The netsurf core is driven from numerous operation tables most of
which are now set through a common netsurf_register() interface. The
font and plotting interfaces are currently separate and unlike all the
other operation tables are modified for differing contexts.
This change moves the font operations alongside all the other
operations table and remove unnecessary interaction with the renderers
font internals. Further this also removes the need for css internals
to be visible in frontends.
2014-10-13 11:56:31 +01:00
Michael Drake
c3d6099250
Redraws during layout are prohibited, and redundant.
2014-09-27 09:57:26 +01:00
Michael Drake
c9bf72a4a3
Stop invalid background image URL from preventing page load.
...
Stops url(http://) from causing page load to fail with warning
message of "boxconvert".
2014-09-25 09:50:24 +01:00
Michael Drake
35f7f2b9f3
Resolve relative URLs in inline CSS relative to document's base URL, rather than its content URL.
...
This means passing the base URL as the URL param to LibCSS's
css_stylesheet_create, rather than the URL of the source of
the style data.
2014-09-18 18:07:52 +01:00
Michael Drake
3daa98d621
Remove unecessary forward declarations.
2014-09-05 23:00:18 +01:00
Michael Drake
e23e8b5112
Avoid forward declaration of box_contains_point.
2014-08-31 16:26:50 +01:00
Michael Drake
181cdfab06
Make box_at_point use itteration, rather than recursion.
...
This should reduce stack usage. The walk logic is split out from
box_at_point so that it might be reused.
2014-08-31 16:24:35 +01:00
Michael Drake
b49832a958
Add float_container to box tree dump.
2014-08-31 16:22:33 +01:00
Michael Drake
2cf3525b00
Fix text selection.
...
Values returned by nscss_len2px are actually libcss fixed-points,
so convert the result to pixels. Also reduce the amount by which
the top of descendant bboxes are extended to 3/4 of the text
height, which is the maximum possible amount that the text can
protrude above the box when line-height is reduced.
2014-08-20 11:08:35 +01:00
Michael Drake
96dbdee3a4
Remove unused code.
2014-08-04 14:59:48 +01:00
Michael Drake
2ea5ca5805
Remove unwanted debug.
2014-08-04 14:59:13 +01:00
Michael Drake
a807d762f9
mailto urls don't have passwords or ports, so we don't need to look for ':'.
2014-08-04 14:49:35 +01:00
Vincent Sanders
af16c38d2d
fix DOM tree dump debug
2014-08-04 00:37:21 +01:00
Michael Drake
a05b5fcff4
Always treat root element as overflow:visible.
...
Fixes bug #2149 .
2014-07-18 20:09:20 +01:00
Michael Drake
7063846614
Restrict 'drill down' to specific box types.
2014-07-18 09:30:27 +01:00
Michael Drake
b1eb026c6e
Fix bug #2154 : List numbering.
...
Previous list item box may not always be last child of parent.
Search its previous children until a list item is found.
2014-07-18 09:20:07 +01:00
Michael Drake
779deb8559
Fix overflow handling issue.
2014-07-13 18:21:50 +01:00
Michael Drake
0d3faeb4bd
Allow suppression of style dump in box tree dumps.
2014-07-13 18:07:12 +01:00
Michael Drake
3c818abaea
Merge branch 'master' of git://git.netsurf-browser.org/netsurf
2014-07-08 19:23:55 +01:00
Vincent Sanders
3a9fa29ee5
try and improve usage of browser window internals
2014-07-06 18:34:34 +01:00
Vincent Sanders
4b2101ba6a
clean up the fetcher factory and improve its API
2014-06-19 18:27:24 +01:00
Michael Drake
43f21bc9a8
Slight simplification to how wo choose whether to clip for overflow.
2014-06-15 14:47:15 +01:00
Michael Drake
5085bfbf99
Handle overflow-x and overflow-y properties.
...
Fixes display of BBC Sport.
Requires LibCSS with support for overflow-x and overflow-y.
2014-06-01 18:36:22 +01:00
Michael Drake
c7ba173a64
Remove completely dead file.
...
NetSurf's list handling has been redundant and unused for years.
2014-05-31 10:45:32 +01:00
Vincent Sanders
4acfda898b
fix plain text rendering line breaking with mutibyte sequences (fixes bug #2134 )
2014-05-29 11:25:52 +01:00
Vincent Sanders
758dcd4de9
remove uncessary null check (coverity 1199865) and remove forward references
2014-05-18 14:40:39 +01:00
Vincent Sanders
2326d3c503
remove unecessary utils/url.h includes
2014-05-09 10:15:42 +01:00
Vincent Sanders
096bd47ab0
refactor url utility functions to use standard nserror codes and have appropriate documentation.
2014-05-08 00:16:50 +01:00
Michael Drake
0d32293c6a
Fix table cell bottom borders leaking to the cell on the right.
...
Prevent leaking of table cell borders that happend when doing
border-collapse: collapse;
Error was do to cell->columns being treated as number of extra
columns spanned minus 1, rather than number of columns spanned.
2014-04-14 13:24:42 +01:00
Michael Drake
b604881528
Remove redundant code.
...
Remove workaround for crash caused by flawed table layout.
Table layout is now fixed.
2014-04-12 16:13:44 +01:00
Michael Drake
679c87e527
Fix table layout issue: row spans crossing row groups.
...
Track row group that spans belong to, and compare with current
cell's row group to decide whether the previous span affects
current cell's start column.
2014-04-12 16:09:17 +01:00
Michael Drake
f89516c495
Flag TODO for rowspan in different row group.
2014-04-09 21:54:05 +01:00
Michael Drake
e41900bddc
Implied table rows must increment the row group's row count too.
2014-04-09 20:58:12 +01:00
Vincent Sanders
cfc75ac6f9
fix table normalisation to not allow rowspan entries to leak beyond their grouping
2014-04-09 18:17:56 +01:00
Michael Drake
c36078db73
Fix collapsing borders with rowspan from previous row group.
...
Mantis #0002102
2014-04-09 13:57:43 +01:00
Michael Drake
7738584b34
Don't pass pointer to data that isn't on the stack any more to content_broadcast.
2014-03-27 21:35:17 +00:00
Vincent Sanders
4d4d74c8cd
move page search gui callbacks to their own operations table
2014-03-18 22:32:52 +00:00
Michael Drake
7a3d343766
Remove debug logging.
2014-03-10 22:32:04 +00:00
Michael Drake
9da93c23a4
Ensure we get gadget from correct box.
2014-03-10 22:25:36 +00:00
Michael Drake
0397a7cab1
Add some logging.
2014-03-10 22:19:23 +00:00
Vincent Sanders
87f6314dab
move scheduleing into browser operation table
2014-03-09 15:37:40 +00:00
Michael Drake
71cb70065e
Gadgets can exisit outside forms, so now they store their own ref to the containing html content.
2014-02-17 14:38:53 +00:00
Michael Drake
49bed056dd
Make browser_window_navigate (un)verifiable flag match browser_window_create.
2014-02-10 22:40:04 +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
John-Mark Bell
9720c02483
Fix #2071 : handle parse completion creating style or script nodes.
2014-02-10 01:25:57 +00:00
Michael Drake
8deb9ec25c
Native select menu interface shouldn't force front end to dig inside bw struct.
2014-02-08 17:11:55 +00:00
Vincent Sanders
3455d66921
reduce desktop/browser.h unecessary includes
2014-02-03 17:56:24 +00:00
Vincent Sanders
886a3106db
move utf8 local conversion operations to table
2014-02-01 22:17:36 +00:00
Vincent Sanders
db33103fa3
clean up desktop/gui.h include usage
2014-01-29 21:35:53 +00:00
Vincent Sanders
654da2ffb5
move utf8 conversion routines to use nserror instead of their own error enum
2014-01-28 21:40:13 +00:00
Michael Drake
46b8fbaeac
Use corestring.
2014-01-25 10:00:33 +00:00
Michael Drake
72510f550b
Use corestrings in box construction.
2014-01-24 18:58:12 +00:00
Michael Drake
20e789955d
Ensure first option gets selected when the markup doesn't specify any options as selected.
2014-01-24 17:32:49 +00:00
Michael Drake
f07a04126d
Merge branch 'master' of git://git.netsurf-browser.org/netsurf
2014-01-24 16:45:52 +00:00
Michael Drake
05dc1c1305
Fix Coverity-spotted issue. (Fixes behaviour for multiple selects.) Also minor optimisation.
2014-01-24 14:21:27 +00:00
Vincent Sanders
b7e372cf84
ensure imagemap lists are freed on error paths (coverity 1109880)
2014-01-24 12:11:10 +00:00
Michael Drake
4684e9665d
Deselect other options when select option is selected, and it's not a multi-select.
2014-01-21 15:01:18 +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
28e670f52d
Support 'checked' properly in new form handler
2014-01-06 18:50:49 +00:00
Daniel Silverstone
9a9cb399f9
Merge branch 'rjek/click-file-gadget'
2014-01-05 17:03:17 +00:00
Daniel Silverstone
ef5c516ee3
Restore missing message send
2014-01-05 17:01:27 +00:00
Daniel Silverstone
0d5960a68c
Remove old form_successful_controls
2014-01-05 16:14:45 +00:00
Daniel Silverstone
6bf609a1a4
Support image inputs
2014-01-05 16:14: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
b1e6c63a2f
Rewrite form_successful_controls() to use the DOM.
...
This stops image inputs from working temporarily, but makes
inputs inside display:none work correctly. As such, this is
a net-win.
2014-01-05 15:51:30 +00:00
Rob Kendrick
1bd4a34a27
Remove asserts for default cases from all content message handlers; this is laborious and is no longer useful for catching bugs.
2014-01-05 14:39:08 +00:00
John-Mark Bell
32468516e3
Speculatively start image fetches as we parse the document.
2014-01-05 14:34:49 +00:00
Daniel Silverstone
b4f9860848
Remove logging now that file upload *seems* to work
2014-01-04 22:05:23 +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
2a18cef82b
Shunt around the file multipart stuff a bit to try and fix the segfault
2014-01-04 20:53:43 +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
Daniel Silverstone
9b8988dd23
Reflect changes to select boxes into the DOM
2014-01-04 18:02:50 +00:00
Daniel Silverstone
0516e4c069
Reflect toggling of 'selected' in the DOM
2014-01-04 18:02:50 +00:00
Daniel Silverstone
a5bb596eb3
Ensure that file inputs update the dom node and annotate with the unencoded filename
2014-01-04 18:02:50 +00:00
Daniel Silverstone
533cfa27da
Ensure textual input boxes re-update the DOM with new values
2014-01-04 18:02:50 +00:00
Daniel Silverstone
068b07494b
Retrieve text area content from the textarea api
2014-01-04 18:02:50 +00:00
Michael Drake
0aa488288c
Fix longstanding bug where floating root element caused assertion. Bug #394 .
2014-01-04 17:54:43 +00:00
Michael Drake
838359194e
Return message to client when textarea is modified.
2014-01-04 14:48:58 +00:00
Michael Drake
8b253a2151
Improve min/max-height handling on replaced elements.
2014-01-04 14:02:22 +00:00
Michael Drake
1970fb7bda
Make nscss_get_style return completed computed styles. Now matches nscss_get_blank_style, and no need for anything outside css/select.c to see partial computed styles.
2013-12-19 14:21:15 +00:00
Michael Drake
cde62790f6
Update for new lpu API.
2013-12-14 23:17:50 +00:00
Michael Drake
e4c50bd58a
Update for new libcss API.
2013-12-13 20:25:08 +00:00
Vincent Sanders
aa4d2eb608
ensure no division by zero can occour (coverity 1109862 1109863)
2013-11-03 22:51:43 +00:00
Vincent Sanders
c26dd43669
ensure no division by zero in scaled object dimensioning (coverity 1109864 )
2013-11-03 21:52:01 +00:00
Michael Drake
3fc666a9be
Squash Coverity #1109879 - Resource leak.
2013-10-25 22:23:18 +01:00
Vincent Sanders
4776f05430
fix potential division by zero by only computing width and height when content is valid and hence will return content width and height not zero. coverity 110986[23]
2013-10-25 22:06:29 +01:00
Michael Drake
1d326a8a1c
Fix leak of frame element name.
2013-10-25 19:57:05 +01:00
Michael Drake
88ca82dea2
Fix leak of box scrollbars.
2013-10-25 15:47:49 +01:00
Michael Drake
182b97ed33
Fix leak of html encoding.
2013-10-23 18:55:51 +01:00
Michael Drake
0bbaf1d24d
Layout doesn't need to handle the old insane textarea box splitting now. Fixes Coverity:1109882.
2013-10-23 12:48:16 +01:00
Michael Drake
3e08819db9
Fix leaks in form_successful_controls. 'charset' was always leaked, value was leaked in particular OOM case.
2013-10-23 12:34:48 +01:00
Michael Drake
479fcefd9a
s/!charset/charset == NULL/
2013-10-23 12:16:20 +01:00
Michael Drake
8641d5cbda
Fix a potential leak.
2013-09-05 11:13:08 +01:00
Michael Drake
b646592928
Allocate correct amount of mem for pointers to imagemaps.
2013-09-05 10:46:58 +01:00
Michael Drake
8d3a89b62d
Don't attempt to vertical-align objects for now, as our current bodged vertical-align implementation can do more harm than good.
2013-07-12 11:34:47 +01:00
Michael Drake
90231bd4b1
Force root element box type to BOX_BLOCK.
2013-07-10 12:27:56 +01:00
Michael Drake
67066ce47c
Shave a few more px off animated background redraw, in the non-tiled cases. (Restrict area to part of image that changed.)
2013-07-07 10:14:13 +01:00
Michael Drake
ec50fdaefa
Fix rendering of animated background images. Give them sensible redraw area.
2013-07-06 22:57:48 +01:00
Michael Drake
431f9fde5f
Apply vertical alignment to objects on line.
2013-06-08 10:42:33 +01:00
Vincent Sanders
e2056974ca
fixup script message handling
2013-05-31 09:22:08 +01:00
Vincent Sanders
2d70714a64
use correct acessors for unsigned type
2013-05-28 14:16:11 +01:00
Vincent Sanders
63d7247a9c
fix mismatched option name and variable names
...
block_ads should be block_advertisments to match option name
toolbar_status_width should be toolbar_status_size to match option name
2013-05-28 14:16:11 +01:00
Vincent Sanders
ee6e6eec05
move options include
2013-05-28 14:16:10 +01:00
Michael Drake
977452b2ba
Fix handling of clip property to avoid clip rectangles that are entierly outside the redraw region.
2013-05-28 12:47:20 +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
9751a10705
Handle title on dom event. Remove head walker from begin_conversion.
2013-05-23 15:02:15 +01:00
Michael Drake
e8df19f3d2
Move base and link element handling to event callback.
2013-05-23 13:29:40 +01:00
Michael Drake
5a312946c5
Move meta refresh handling to dom event handler.
2013-05-22 23:57:59 +01:00
Michael Drake
bec089e7aa
Tiny simplification.
2013-05-20 19:51:15 +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
Michael Drake
1f6744f26b
Styleguide formatting.
2013-05-02 09:34:01 +01:00
Michael Drake
a3394aa77f
Put comments for exported functions in header.
2013-05-02 09:34:01 +01:00
Michael Drake
6b178fb3fe
HTML selections are always read-only now.
2013-05-02 09:34:01 +01:00
Vincent Sanders
25e6563e61
remove dead store
2013-05-01 22:07:29 +01:00
Michael Drake
d399f565ed
Fix abort of page render on failed content_redraw of background image.
2013-04-23 18:34:46 +01:00
Michael Drake
bcf07a9665
Hacky fix for clipping of top of text.
2013-04-17 12:18:08 +01:00
John-Mark Bell
09086758e7
Fix 3608298: only apply link hack if JS is disabled.
2013-03-19 21:38:25 +00:00
Michael Drake
f4ce62ebfe
In box textarea binding only redraw the area that was requested, not the whole textarea.
2013-03-19 12:44:03 +00:00
Michael Drake
773cc5b562
Stop looking on first modified sheet found.
2013-03-18 15:01:56 +00:00
Michael Drake
07bdb324c1
Remove extra logging.
2013-03-18 14:57:29 +00:00
Michael Drake
5930e4bcc4
Fix bug where html conversion began before STYLE element fetch had been launched.
2013-03-18 14:48:00 +00:00
Michael Drake
bf69cfa74b
Add some extra logging. Some pedantic wrap changes.
2013-03-18 12:35:00 +00:00
John-Mark Bell
3801886aec
Debounce style updates
2013-03-16 10:50:17 +00:00
John-Mark Bell
4136a4d64e
Move public API to end
2013-03-16 10:33:28 +00:00
John-Mark Bell
6e5e5761fc
Ensure a reference is taken on style nodes.
2013-03-16 01:00:06 +00: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
41e4928e25
Fix pointer shape and status bar messages for textareas and their scrollbars.
2013-03-11 12:57:33 +00:00
François Revol
e31007f6a7
C89
2013-03-09 20:44:25 +01:00
Michael Drake
c1628435f2
Fix min line width calc when an inline isn't to be wrapped in a block that allows wrap.
2013-03-06 18:39:38 +00:00
Michael Drake
e8950dee22
Propagate native caret clip rect through core.
2013-03-05 22:54:51 +00:00
Daniel Silverstone
461d4576fb
Unref the node in the callbacks
2013-03-05 22:53:55 +00:00
John-Mark Bell
6b9f7c3094
Use correct base URL for inline stylesheets
2013-02-27 03:55:48 +00:00
John-Mark Bell
97978e858b
Use custom fetcher for inline CSS
2013-02-27 03:11:10 +00:00
John-Mark Bell
405fa12f8d
Fix handling of inline stylesheets with @import
2013-02-26 09:14:32 +00:00
Vincent Sanders
a35e66ffa1
split out object handling from render/html.c
2013-02-25 18:24:04 +00:00
Vincent Sanders
4e7b4259a4
fix quirk stylesheet loading
2013-02-25 15:00:50 +00:00
John-Mark Bell
1e7dac61da
Fix memory leak
2013-02-24 23:05:56 +00:00
Vincent Sanders
cc7f45898b
refactor stylesheet handling to separate object from within html rendering
2013-02-24 16:08:37 +00:00
Michael Drake
bba74b7a0b
Handle readonly attribute for text inputs and textareas.
2013-02-23 17:44:20 +00:00