Commit Graph

222 Commits

Author SHA1 Message Date
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
a2396edde4 complete transition to locale independant core operation
The netsurf core no longer uses any locale dependant operations
excepting the mall number or cases where such operations are
explicitly wanted.

the netsurf_init now calls setlocale with the empty string and lets
the c library setup as per its specific implementation.

any core functionality that specificaly processes ascii text must use
the utils/ascii.h header to do so.
2016-09-29 22:37:10 +01:00
Vincent Sanders
1776a0e61e make box construction use correct ascii processing 2016-09-11 16:42:12 +01:00
Vincent Sanders
6efe60ee1d simplify box_extract_link interface and improve documentation 2016-09-11 12:19:56 +01:00
Vincent Sanders
8861923455 Allow include directories to be added by sub makefiles 2016-06-06 14:47:27 +01:00
Vincent Sanders
fe7eb85614 move misc header into public API 2016-05-30 11:23:32 +01:00
Vincent Sanders
6722943b81 move the CSS content handler 2016-05-26 11:18:41 +01:00
Vincent Sanders
7d9c9dba36 Split utils header into string functions and everything else
split out the string handling API from the rest of the utils header
and fix up all the fallout.
2016-04-21 22:36:21 +01:00
Vincent Sanders
33c7df0c40 complete the rename of the gui browser table
When the operations tables were created the browser table was renamed
to miscellaneous except the actual rename patch was never applied,
this fixes that situation.
2016-04-16 23:50:21 +01:00
Vincent Sanders
7d4d500c1d Revert "Fix memory leak in error handling"
This reverts commit c53be10892.

Issue tracked in bug 2443
2016-03-16 08:36:36 +00:00
Vincent Sanders
c53be10892 Fix memory leak in error handling
error handling during form gadget construction could leak, this fixes
the leak on error. Fixes coverity CID 1109875
2016-03-14 15:54:10 +00:00
Michael Drake
3bee7b7e12 Layout: Don't generate :before and :after boxes for replaced elements.
In CSS 2.1 this was undefined.

  CSS 2.1 -- 12.1 The :before and :after pseudo-elements

    Note. This specification does not fully define the interaction
    of :before and :after with replaced elements (such as IMG in HTML).
    This will be defined in more detail in a future specification.

    -- https://www.w3.org/TR/CSS21/generate.html#before-after-content

In CSS 3 the :before and :after generated content boxes are not allowed
on replaced elements.

  CSS 3 Generated and Replaced Content Module
        12. Replaced content

  The box model defines different rules for the layout of replaced
  elements than normal elements. Replaced elements do not have
  '::before' and '::after' pseudo-elements; the 'content' property
  in the case of replaced content replaces the entire contents of
  the element's box.

  -- https://www.w3.org/TR/css3-content/#replacedContent
2016-02-09 16:42:28 +00:00
Michael Drake
8e580ccd19 Split out presentational hints handling. 2016-02-05 10:49:58 +00:00
Michael Drake
b58176c65e Spaces to tabs. 2016-01-29 16:04:47 +00:00
Michael Drake
594012ef52 Ensure constant javascript_enabled for HTML contents.
Now we take the value of the javascript_enabled option when the
content is created.  We then use the content's script_enabled
boolean everywhere else.

This prevents us getting inconsistent values for javascript_enabled
if a user toggles the setting while a page is loading.

It was read frequently during box construction, and also the
parser's script enabled setting could change where we handled
a change of encoding.

Now we only care about the setting of the javascript_enabled
option at time of html_content creation.
2016-01-21 14:11:36 +00:00
Michael Drake
3dcf7d80a1 Pass html_content to box_extract_link. 2016-01-21 14:09:57 +00:00
Michael Drake
71f296a41c Fix dom document leak for framesets. 2015-10-31 16:14:40 +00:00
Vincent Sanders
1f07c45740 fix gadget resource leak (coverity #1109875) 2015-09-07 13:53:59 +01:00
Vincent Sanders
c105738fa3 Change LOG() macro to be varadic
This changes the LOG macro to be varadic removing the need for all
callsites to have double bracketing and allows for future improvement
on how we use the logging macros.

The callsites were changed with coccinelle and the changes checked by
hand. Compile tested for several frontends but not all.

A formatting annotation has also been added which allows the compiler
to check the parameters and types passed to the logging.
2015-05-28 16:08:46 +01:00
Vincent Sanders
ca74e0060d release gadget allocation on error path (Coverity 1109875) 2014-11-30 11:23:30 +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
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
Michael Drake
eed2a97eca Add bw function to get scrollbar type. 2014-10-25 12:04:11 +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
11faa1cef8 Remove trailing whitespace. 2014-10-15 09:35:43 +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
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
Vincent Sanders
2326d3c503 remove unecessary utils/url.h includes 2014-05-09 10:15:42 +01: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
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
Daniel Silverstone
9b8988dd23 Reflect changes to select boxes into the DOM 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
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
e4c50bd58a Update for new libcss API. 2013-12-13 20:25:08 +00:00
Michael Drake
3fc666a9be Squash Coverity #1109879 - Resource leak. 2013-10-25 22:23:18 +01:00
Michael Drake
1d326a8a1c Fix leak of frame element name. 2013-10-25 19:57:05 +01:00
Michael Drake
90231bd4b1 Force root element box type to BOX_BLOCK. 2013-07-10 12:27:56 +01:00
Vincent Sanders
ee6e6eec05 move options include 2013-05-28 14:16:10 +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
762e1aad73 First pass at getting html forms to use textarea widget.
(Input element types text & password, and textarea element.)
Can edit and submit forms, but there are loads of issues.
2013-02-06 22:39:45 +00:00
Vincent Sanders
31c9ffb4b5 make boxes keep reference to the DOM node that causes them 2012-11-30 12:29:54 +00:00
Vincent Sanders
fb13fcf166 Improve html renderer error reporting 2012-11-26 18:59:13 +00:00