Commit Graph

97 Commits

Author SHA1 Message Date
Michael Drake
1bb7d295bb Make nsurl utf8 string conversion function consistent with nsurl API. 2015-10-25 09:03:20 +00:00
Chris Young
65b510fbc3 Rework IDN URL retrieval to return an nserror 2015-10-24 15:12:57 +01:00
Chris Young
53141c7089 Modify the status bar link text so it shows either the ASCII encoded or IDN host, depending on the set option.
Default is to display the encoded version as this provides some security making phishing domains more obvious, and a lot of our frontends are unable to display the full range of UTF-8 characters on the status bar.
Displaying the decoded address in the URL bar requires frontends to be updated (GTK and Amiga done already), and the same caveats apply.
2015-10-24 15:12:57 +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
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
Vincent Sanders
740387be8d Doxygen cleanups 2014-11-12 16:21:23 +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
bdfedb686b replace save_link operation table entry usage of textural url with nsurl 2014-11-03 23:05:59 +00: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
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
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
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
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
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
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
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
6bf609a1a4 Support image inputs 2014-01-05 16:14:17 +00:00
Daniel Silverstone
0516e4c069 Reflect toggling of 'selected' in the DOM 2014-01-04 18:02:50 +00:00
Vincent Sanders
ee6e6eec05 move options include 2013-05-28 14:16:10 +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
6b178fb3fe HTML selections are always read-only now. 2013-05-02 09:34:01 +01: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
e8950dee22 Propagate native caret clip rect through core. 2013-03-05 22:54:51 +00:00
Michael Drake
8445bc166b Don't bypass html form handling layer when passing keypress to textarea. 2013-02-22 15:01:13 +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
Vincent Sanders
529ca251fc rename flags for browser_window routines to be shorter 2013-02-18 11:51:42 +00:00
Vincent Sanders
3bfb5b96a7 browser_window_navigate refactor 2013-02-18 11:23:27 +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
cb283c516a Don't build or include old render/textinput module. 2013-02-07 14:28:20 +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
c1c3a06748 document mouse interaction a bit 2012-12-10 08:49:54 +00:00
Vincent Sanders
3052864773 issue click events at dom 2012-12-03 17:09:44 +00:00
Michael Drake
892aee8070 Improve interaction with html objects. 2012-08-21 16:46:46 +01:00
Michael Drake
afdf72d7b5 Confine box_at_point to the document it's given. Callers are now responsible for calling whatever functionality for object boxes. Remove last bw dereference from render directory. Remove a couple of unused functions. 2012-08-21 15:27:52 +01:00
Michael Drake
57d2e31e59 Avoid using hlcache_handle for drag saves in html_interaction. Drag save msg with NULL content now means save the content which sends the message. 2012-08-19 12:46:42 +01:00
Michael Drake
762cade362 Don't use hlcache_handle for URL, since hlcache_handle needs to go. 2012-08-19 12:03:39 +01:00
Michael Drake
081976105a Minor style tweaks. 2012-08-19 11:39:00 +01:00
Michael Drake
d878ea4fb9 Don't pass internal content status text as an explicit message. 2012-08-19 11:34:46 +01:00
Michael Drake
eb35a576c1 Can get root element node directly from within the html content handler. Avoids using hlcache_handle which needs to go. 2012-08-17 20:57:35 +01:00
Michael Drake
6d39b569c7 Pass content containing form's nsurl to form_submit, instead of its hlcache_handle. Avoid dereferencing bw in html content handlers. 2012-08-17 20:26:00 +01:00