Commit Graph

60 Commits

Author SHA1 Message Date
Vincent Sanders
18abdadac8 split border drawing out of html redraw 2017-02-11 13:57:06 +00:00
Michael Drake
7b78ef3361 Style: Fix ignoring of STYLE elements with non-screen media.
We were handling the STYLE tag getting added in the
dom_default_action_DOMSubtreeModified_cb callback, however,
the media attribute dadn't been added by that point.

We now check it in the dom_default_action_DOMNodeInserted_cb
callback, at which time the media attribute is available for
checking.

Note, we should probably store the media type in the
html_stylesheet structure, but for now we just have an
`unused` boolean.

Also, it may be possible to optimise to avoid parsing non-
screen media STYLE element data if we could detect the media
earlier.
2016-09-24 12:44:28 +01:00
Vincent Sanders
6722943b81 move the CSS content handler 2016-05-26 11:18:41 +01:00
Vincent Sanders
974a4a21e1 split out the layout glyph sizing and splitting API
This refactors the core "font" sizing API to be handled through gui
 function tables similar to every other core/frontend calling API.
2016-04-23 23:32:21 +01:00
Michael Drake
d4a01d525a HTML: Remove some status bar updating code. 2016-02-10 16:09:16 +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
Daniel Silverstone
310162474a Add fire_dom_event, it's in a bad place but we can move it later 2015-10-31 18:01:38 +01: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
1a7d00076d cleanup Doxygen warnings 2014-11-12 19:31:39 +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
df89f689f7 make the pseudo css fetcher report initialisation errors 2014-10-25 23:07:00 +01:00
Michael Drake
c3d6099250 Redraws during layout are prohibited, and redundant. 2014-09-27 09:57:26 +01:00
Vincent Sanders
4d4d74c8cd move page search gui callbacks to their own operations table 2014-03-18 22:32:52 +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
9751a10705 Handle title on dom event. Remove head walker from begin_conversion. 2013-05-23 15:02:15 +01:00
Michael Drake
5a312946c5 Move meta refresh handling to dom event handler. 2013-05-22 23:57:59 +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
5930e4bcc4 Fix bug where html conversion began before STYLE element fetch had been launched. 2013-03-18 14:48:00 +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
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
Vincent Sanders
cc7f45898b refactor stylesheet handling to separate object from within html rendering 2013-02-24 16:08:37 +00: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
Michael Drake
9c20ff9592 Drag fixup. Add some documentation. 2013-02-08 15:05:07 +00:00
Michael Drake
4747bbbfb2 HTML drags now go via content msg. 2013-02-08 13:22:53 +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
c1671f37b1 reduce talloc usage to box tree layout only 2012-10-03 19:26:17 +01:00
Michael Drake
427fb928c5 Remove unused member of html_content struct. 2012-08-20 13:10:14 +01:00
Michael Drake
699173331b html__redraw_a_box takes html_content instead of struct content. 2012-08-16 13:22:35 +01:00
Vincent Sanders
5c25b8255a add post parse script execution 2012-07-31 22:33:08 +01:00
Vincent Sanders
4182685d1e fix parse completion - working syncronous scripts 2012-07-30 22:56:40 +01:00
Vincent Sanders
06608c1bf0 extend script enumeration to include asyncronous and deferred scripts 2012-07-30 22:54:14 +01:00
Michael Drake
9de20d9a1a Interned string cleanup, phase 3: Move html_forms.c to corestring. 2012-07-22 18:01:10 +01:00
Michael Drake
9d3986e768 Avoid strcasecmp in form control creation node name handler. 2012-07-21 17:41:17 +01:00
Vincent Sanders
bd244b121a Merge branch 'vince/forms-fixed'
Conflicts:
	Makefile.sources
	render/box_construct.c
	render/html.c
	render/html_internal.h

Merge Daniel Silverstones forms branch
2012-07-14 14:42:02 -06:00
Vincent Sanders
6ab102c3b1 Rework form acessors to deal with binding changes 2012-07-14 13:24:14 -06:00
Vincent Sanders
394357b7c9 fix quirks mode setting with libdom hubbub parser 2012-07-14 09:13:21 -06:00
Vincent Sanders
d7289f6701 remove parser binding layer 2012-07-13 17:37:22 -06:00
Vincent Sanders
019be7616c split out script handling from html 2012-07-13 17:37:21 -06:00
Vincent Sanders
49effe103a restructure javascript binding layout to be more explicit
fix html content so it correctly loads all the script tags


svn path=/trunk/netsurf/; revision=13968
2012-06-19 09:35:51 +00:00
Vincent Sanders
4c89c9d5df improve javascript support
svn path=/trunk/netsurf/; revision=13962
2012-06-10 22:17:30 +00:00
Daniel Silverstone
e1df0d095a Initial attempt at imagemap libdomification
svn path=/trunk/netsurf/; revision=13692
2012-03-25 15:07:08 +00:00
John Mark Bell
a45972a104 Squash warning -- this API appears to be unused
svn path=/trunk/netsurf/; revision=13632
2012-03-24 22:16:03 +00:00
Vincent Sanders
b21f85a072 initial move to libdom
svn path=/trunk/netsurf/; revision=13573
2012-03-23 23:18:04 +00:00
John Mark Bell
4e574f1252 Improve performance of style selection
svn path=/trunk/netsurf/; revision=13000
2011-10-08 00:21:59 +00:00
Michael Drake
08b42089ca Pass nsurls through html_fetch_object.
svn path=/trunk/netsurf/; revision=12945
2011-10-04 10:23: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
63c07ee28d Core part of search improvement:
+ Split up browser window and content related elements of html & text search.
+ Associate search contexts with contents, rather than browser windows.
+ Remove highlighting of search terms dependency on current_redraw_browser.
+ Fixes issues with search contexts being applied to the wrong content.


svn path=/trunk/netsurf/; revision=12646
2011-08-24 12:29:30 +00:00
Michael Drake
16b92d1613 Selection is now subordinate to html and text content types, and disassociated from browser windows. Note: search currently uses hlcache_handle_get_content() to go from bw to h to get at c for search highlighting via selection.
svn path=/trunk/netsurf/; revision=12626
2011-07-26 13:53:42 +00:00