Vincent Sanders
a375e58bb8
Silence incorrect warning from gcc 4.9
...
This makes the box_move_xy function return a value on all code
paths. This was not really necessary as there is an assert in the path
that could have returned without a value. The gcc optimiser seems
unable to reason about this in this case causing a warning.
2015-05-03 17:40:27 +01:00
Vincent Sanders
3cabd331ee
Ensure result of ftell is checked for errors
...
The ftell call in the html renderer handling of drag and drop was not
checking its return value for errors which could have resulted in
attempting to read -1 bytes.
coverity 1251038
2015-04-26 00:32:42 +01:00
Michael Drake
69776768d2
Remove duplicate branch in relative position handling.
2015-04-23 09:46:04 +01:00
Daniel Silverstone
df3a889435
Ensure we delink form controls when freeing them
2015-04-22 21:11:21 +01:00
Vincent Sanders
1e1df59089
add some debug to form gadget freeing
...
Serveral reports of form freeing segfaulting on RISC OS so this adds
some debug in this area to see if we can tell why.
2015-03-27 15:27:33 +00:00
Witold Filipczyk
befa5e6ed3
To avoid namespace conflicts with ncurses add NetSurf key prefix.
...
Adds a NetSurf key code prefix of NS_ to all key codes.
2015-03-27 09:36:19 +00:00
John-Mark Bell
6af5ba0c8f
Forms: consider submit buttons successful. Fixes #2284 .
2015-03-10 01:16:15 +00:00
Vincent Sanders
84c29f1d86
Add invalidate API to html content script handling and use it.
...
The html content script handling needs to invalidate its JavaScript
context when the browsing context (browser_window) containing it is
either closed or the content fetch is aborted (stopped)
Previously the invalidation was only done on browser_window close
which resulted in use after free crashes because of the now invalid
JavaScript context.
2015-03-09 13:47:12 +00:00
Vincent Sanders
c4e551cd0c
clear the html content reference to javascript context.
...
When the browser window is about to be destroyed html_close gets
called indicating the browser_window previously associated with the
html content is about to become invalid.
This makes the javascript context invalid within the html content (it
is held by the browser window) when that context is about to be
destroyed. Previously the javascript children would continue to
attempt to use the context after it had been destroyed causing all
sorts of strange errors and failures.
2015-03-06 17:16:09 +00:00
Michael Drake
2ce332f1b0
Remove nsurl include.
2015-02-26 17:05:12 +00:00
Michael Drake
2007dd0ccd
Revert removal of implied table adding.
...
Even if the DOM is always sanitised, CSS display property can cause
other boxes to be required.
2015-01-27 21:08:52 +00:00
Michael Drake
f63742d7c2
Remove unused variables.
2015-01-24 16:12:16 +00:00
Michael Drake
770255439d
Remove redundant implied table insertion.
2015-01-24 16:03:48 +00:00
Vincent Sanders
ca74e0060d
release gadget allocation on error path (Coverity 1109875)
2014-11-30 11:23:30 +00:00
Vincent Sanders
669df172ec
Fix my spelling of teh everywhere
2014-11-18 17:16:26 +00:00
Vincent Sanders
71d016aba5
Remove unecessary form debug
...
Additionaly we make the curl fetcher report errors instead of
uninitialised buffer.
2014-11-15 18:23:44 +00:00
Vincent Sanders
a50d2035a7
Fix cocoa usage of render internals
2014-11-13 22:15:32 +00:00
Vincent Sanders
79e501075a
make the form select menu API smaller.
...
By hiding all but the form selection menu option structure from code
outside of render this reduces the API to the absolute minimum to
support this feature.
2014-11-13 21:52:08 +00:00
Vincent Sanders
e8277f2954
doxgen warning fixes in riscos frontend.
2014-11-12 22:36:11 +00:00
Vincent Sanders
1a7d00076d
cleanup Doxygen warnings
2014-11-12 19:31:39 +00:00
Vincent Sanders
740387be8d
Doxygen cleanups
2014-11-12 16:21:23 +00:00
Vincent Sanders
a99b1325d7
Doxygen cleanups
2014-11-12 11:45:07 +00:00
Vincent Sanders
d8007f4512
change form API to return error instead of warning user.
...
Update the form API so instead of directly warning the user it returns
an error code to the caller allowing the appropriate action to be
taken outside the core. Additionally clean up documentation of this
API.
2014-11-11 22:58:34 +00:00
Vincent Sanders
d9ce975822
Make most of the form API internal to the html renderer.
...
Very little of the form API needed exposing outside of the
renderer. This makes the form API that may be used by frontends
obvious and limited.
2014-11-11 17:11:59 +00:00
Vincent Sanders
33eb1f413a
Doxygen warning fixes
2014-11-10 20:15:14 +00:00
Vincent Sanders
345cfc4ec8
address even more potential leaks on error path in box_select (coverity 1109875)
2014-11-10 19:40:20 +00:00
Vincent Sanders
44cfe7459c
fix leak of gadget on error path. (coverity 1109875)
2014-11-10 19:12:10 +00:00
Vincent Sanders
72f4c4f8b8
Fix reference to local variable outside scope (fixes coverity 1251161)
2014-11-10 12:02:26 +00:00
Vincent Sanders
845a0ca072
remove declaration in parameter list warning in form.h
2014-11-09 12:22:11 +00:00
Vincent Sanders
05a64bfde9
fix up more doxygen errors
2014-11-08 16:49:32 +00:00
Vincent Sanders
8f64d5d223
Improve Doxygen documentation
2014-11-08 12:35:11 +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
bdfedb686b
replace save_link operation table entry usage of textural url with nsurl
2014-11-03 23:05:59 +00:00
Vincent Sanders
ad343eccb1
remove unecessary utils/types.h
...
This cleans up this header and moves the functionality into more
useful places while reducing the include complexity but only pulling
in whats required.
2014-11-02 20:10:32 +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
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