Commit Graph

624 Commits

Author SHA1 Message Date
Vincent Sanders
d47fed4524 move 401 login into operation table 2014-01-16 00:52:17 +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
667d4a0a49 confine the gui table acessor to the gui factory header 2014-01-14 20:05:14 +00:00
Vincent Sanders
d18c8ed452 move teh final optional window operations into the table 2014-01-13 22:54:19 +00:00
Vincent Sanders
e82d83f184 move four more optional window operations to table 2014-01-13 14:51:27 +00:00
Vincent Sanders
d70e371cd9 move two more mandantory window operations to table 2014-01-13 11:38:35 +00:00
Vincent Sanders
7227c29bba move window scroll getter and setter into operations table 2014-01-13 01:08:15 +00:00
Vincent Sanders
5a962586fb move mandantory window update and redraw operations into table 2014-01-12 23:50:54 +00:00
Vincent Sanders
4b49b4ac77 move more optional window operations into table including removing unused hide_pointer operation altogether 2014-01-12 22:55:26 +00:00
Vincent Sanders
b7736bae2f split gui operations into core and window and move more operations into tables 2014-01-12 17:07:34 +00:00
Vincent Sanders
56bb9582b1 move set title, set url, start and stop throbber window operations to gui table 2014-01-12 10:27:41 +00:00
Vincent Sanders
c8496df3df move window creation and destruction into table 2014-01-11 22:34:12 +00:00
Rob Kendrick
550c8cd73c Change gui_file_gadget_interface to pass gui_window not browser_window, add GTK implementation that of course does not work. 2014-01-05 16:45:32 +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
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
Michael Drake
1ae1d06ca4 Reduce leaking of thumbnails to only for URLs that urldb rejects.
Previously leaked thumbnails for all urls not previously visited.
2013-10-24 11:48:23 +01:00
Vincent Sanders
8cb2d52483 fix coverity #1111069 2013-10-23 13:48:26 +01:00
Michael Drake
cf8ffa412a Remove old hotlist, cookies, and history_global_core modules.
New versions of expand/collapse node functions for these modules aren't yet implemented.
2013-09-02 22:41:04 +01:00
Michael Drake
4ce2f6fd55 Update to use new hotlist and global history manager. 2013-09-02 12:29:16 +01:00
Michael Drake
fd1a94a751 Update the new hotlist on visits. 2013-08-27 13:38:23 +01:00
Michael Drake
2a3ff41e14 Flag a TODO. 2013-08-16 08:25:26 +01:00
Michael Drake
eaae716989 Move old hotlist out of the way. 2013-08-13 12:41:04 +01:00
Michael Drake
618ef54983 Update new global history, if the treeview test option is set. 2013-07-16 13:15:22 +01:00
Michael Drake
9f72b5e046 Fix namespace of old global history add function. 2013-07-15 12:57:40 +01:00
Michael Drake
094ef9a64b Minor wrapping fix. 2013-07-12 15:31:43 +01:00
Michael Drake
716776a181 Remove forward declaration. 2013-07-12 13:50:17 +01:00
Michael Drake
d6d9378e9b Move global_history_add out of browser.h into global_history_core.h 2013-07-12 12:01:54 +01:00
Michael Drake
3a0bda9771 Move local history over to nsurl. 2013-07-11 23:38:32 +01:00
Michael Drake
3f45e53539 s/history_core/local_history/ 2013-07-10 11:55:42 +01:00
Vincent Sanders
ee6e6eec05 move options include 2013-05-28 14:16:10 +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
Vincent Sanders
af75070bee add script_timeout option and use it 2013-05-22 19:12:26 +01:00
Vincent Sanders
ce0fe06349 create javascript heartbeat and hook a script timeout to it 2013-05-22 19:12:26 +01:00
Michael Drake
8b6665fe03 Merge branch 'master' of git://git.netsurf-browser.org/netsurf into tlsa/selection-search-refactor 2013-05-07 14:56:42 +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
Vincent Sanders
30b1fc1dbd add assert to ensure API contract is met 2013-05-04 17:01:00 +01:00
Michael Drake
2cb4a11d1d Remove unused #includes. 2013-04-29 14:55:20 +01:00
Michael Drake
c8d76e68ca Hide caret after reflow (textarea may have moved), but let textarea keep focus. 2013-03-27 13:57:10 +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
Michael Drake
e8950dee22 Propagate native caret clip rect through core. 2013-03-05 22:54:51 +00:00
Michael Drake
69d653f4dc Fix history. 2013-03-04 15:07:58 +00:00
John-Mark Bell
cd3e073354 Fix logging 2013-02-27 03:11:30 +00:00
John-Mark Bell
97978e858b Use custom fetcher for inline CSS 2013-02-27 03:11:10 +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
b112dec78d change browser_window_create and refactor all callsites 2013-02-18 11:23:48 +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
147f2bd08a Remove content_msg for PASTE, since it doesn't need a gui_window to get the buffer from the front end now. 2013-01-08 16:53:00 +00:00
Vincent Sanders
ce309aa5a9 add message retrival of error codes ensuring there are messages for all codes 2012-11-26 17:32:57 +00:00
Vincent Sanders
a1d052399a fix warnings 2012-10-18 10:40:53 +01:00
Vincent Sanders
f18bbd48c7 Improve error handling in html content 2012-10-17 21:52:43 +01:00
Michael Drake
167336cce2 Iframes have to have a parent content. 2012-10-11 13:06:51 +01:00
Michael Drake
d9e7d58106 Fix up ripples from urldb change. 2012-10-11 11:20:02 +01:00
Michael Drake
9d29c8b48a Merge branch 'master' of git://git.netsurf-browser.org/netsurf 2012-10-08 20:34:34 +01:00
Michael Drake
ce577f4dc4 Port to new urldb API. 2012-10-08 20:34:04 +01:00
Vincent Sanders
5800789df2 trivial docuemntation cleanups to address some of the huge number of docuemntation warnings 2012-10-08 14:52:24 +01:00
Michael Drake
153c444454 Move browser_window struct to private header. Places that shouldn't include it do, such as front end code.
Frontends that have been updated to build:
  framebuffer
  gtk
  monkey
  riscos

TODO:
  amiga
  atari
  beos
  cocoa
  windows
2012-08-22 12:22:58 +01:00
Michael Drake
b134279644 Allow the presence of form inputs to be obtained without knowledge of html content internals. 2012-08-20 22:02:37 +01:00
Michael Drake
014fb9db8d Function for front ends to get debug dump from bw. 2012-08-20 16:05:30 +01:00
Michael Drake
edef40bbc4 Don't pass struct box to content open. 2012-08-20 14:22:28 +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
65e825c0c5 Handle choice of whether to show status for loading content or request content. 2012-08-19 11:33:37 +01:00
Michael Drake
a2906b3994 Add paste request content message. 2012-08-18 22:19:15 +01:00
Michael Drake
142a0bf859 Add content message for setting mouse pointer. 2012-08-17 10:01:15 +01:00
Michael Drake
402de7572d Use new content message for saving of hyperlink target URL. 2012-08-16 23:26:05 +01:00
Michael Drake
d9bd357802 Move browser window related control over mouse pointer out of html content handler. 2012-08-16 22:44:25 +01:00
Michael Drake
35fd2ad7f2 Don't use GUI_POINTERs in content handlers. 2012-08-16 22:21:08 +01:00
Michael Drake
cb9781e057 Move bw time recording to bw layer. 2012-08-16 21:35:42 +01:00
Michael Drake
1919c8e071 Add message for content wanting wanting drag save to start. 2012-08-16 20:20:49 +01:00
Michael Drake
d8872b6bab Remove redundant legacy checking for bw->window. 2012-08-16 16:26:43 +01:00
Michael Drake
e5374cc042 Let contents broadcast explicit status messages as well as announce that their internal status has been updated. 2012-08-15 19:00:50 +01:00
Michael Drake
8c12ecd5cd Let browser window handle content scroll request message. 2012-08-13 23:32:58 +01:00
Vincent Sanders
d3b4a286f9 check return from lwc operation 2012-08-09 18:00:55 +01:00
Vincent Sanders
25cdea3351 doxygen serious warning cleanup 2012-07-24 16:19:49 +01:00
Vincent Sanders
1fc96acf47 hlcache handle is not a content, do not treat it as one - oops 2012-07-07 00:14:50 +01:00
Vincent Sanders
638e135c60 correctly setup window object as global
svn path=/trunk/netsurf/; revision=13987
2012-06-26 18:55:57 +00:00
Vincent Sanders
4c89c9d5df improve javascript support
svn path=/trunk/netsurf/; revision=13962
2012-06-10 22:17:30 +00:00
Daniel Silverstone
cb99af0b01 Include render/box.h
svn path=/trunk/netsurf/; revision=13638
2012-03-24 22:28:49 +00:00
Daniel Silverstone
d1194be49f Migrate frame types so that desktop/browser.h does not include render/html.h
svn path=/trunk/netsurf/; revision=13605
2012-03-24 17:09:21 +00:00
Michael Drake
aaf874980e Remove include that's pulled in from browser.h anyway.
svn path=/trunk/netsurf/; revision=13591
2012-03-24 11:02:10 +00:00
Vincent Sanders
1490b52a6b NetSurf options rework (a=vince r=daniels,jmb)
svn path=/trunk/netsurf/; revision=13548
2012-03-22 09:34:34 +00:00
Michael Drake
9c0c9ecdfe Add browser_window drag type accessor.
svn path=/trunk/netsurf/; revision=13494
2012-02-28 12:20:49 +00:00
Michael Drake
ed9fb931cd Add browser window scale acceser.
svn path=/trunk/netsurf/; revision=13491
2012-02-27 22:43:25 +00:00
Michael Drake
2c7a54013d Constify rect param to browser_window_set_drag_type.
svn path=/trunk/netsurf/; revision=13398
2012-01-11 16:48:59 +00:00
Michael Drake
04ece30fa9 Pass pointer constraints for drag out to front ends. Ensure content scrollbar drag termination always informs the browser window layer that the drag is over.
svn path=/trunk/netsurf/; revision=13395
2012-01-11 14:20:26 +00:00
Michael Drake
c08ee82076 Allow drag handlers to inform browser window layer of any pointer range constraints.
svn path=/trunk/netsurf/; revision=13394
2012-01-10 22:02:19 +00:00
Michael Drake
24b7ae1bf4 Browser window destruction destroys search context.
svn path=/trunk/netsurf/; revision=13390
2012-01-06 23:32:38 +00:00
Michael Drake
b4bf069099 Set drag type correctly for page drag.
svn path=/trunk/netsurf/; revision=13375
2012-01-06 12:41:24 +00:00
Vincent Sanders
6ebaecccaf Totaly prefunctry binding to spidermonkey
svn path=/trunk/netsurf/; revision=13360
2012-01-01 21:42:38 +00:00
Michael Drake
a0bbd87b1e Fix frameset resizing.
svn path=/trunk/netsurf/; revision=13246
2011-12-05 13:49:34 +00:00
John Mark Bell
f2993e6ed0 content_get_url -> hlcache_handle_get_url, content__get_url -> content_get_url
svn path=/trunk/netsurf/; revision=13236
2011-12-04 14:55:23 +00:00
Michael Drake
e2a7600e9a Big wodge of internal browser window scroll fixes, or "rationalisation of browser window scrollbar handling".
svn path=/trunk/netsurf/; revision=13221
2011-12-02 16:10:13 +00:00
Michael Drake
71a8a8118c Currently untested (and unused) "drop file on browser window" handling.
svn path=/trunk/netsurf/; revision=13215
2011-12-01 21:51:04 +00:00
Michael Drake
4856a4c1fb Pass scroll wheel action into contents. Handle scrolling of box scrollbars and iframes.
svn path=/trunk/netsurf/; revision=13200
2011-11-29 17:47:29 +00:00
Michael Drake
64c405c541 New function for sending a scroll request into a core browser window at a given coordinate. Currently handles frames only. TODO: iframes and css overflow scrollable boxes. Front ends should call this to pass scroll wheel actions to the core.
svn path=/trunk/netsurf/; revision=13197
2011-11-29 14:20:25 +00:00
Michael Drake
714f07c48b Rename nsurl_enquire to nsurl_has_component.
svn path=/trunk/netsurf/; revision=13183
2011-11-27 18:32:06 +00:00
John Mark Bell
5970157fc7 Fix bug #3441539: downloads may be created from within frames
svn path=/trunk/netsurf/; revision=13178
2011-11-24 00:13:19 +00:00
Michael Drake
ab45ecd228 Use lwc_string for box->id.
svn path=/trunk/netsurf/; revision=13093
2011-10-29 11:37:05 +00:00
Michael Drake
4abaf2f085 Intern bw->frag_id.
svn path=/trunk/netsurf/; revision=13090
2011-10-28 22:27:50 +00:00
Michael Drake
dcc5a532bc Use nsurl to add fragment for URL bar display.
svn path=/trunk/netsurf/; revision=13088
2011-10-28 19:19:08 +00:00
John Mark Bell
50f9420286 Only permit root windows to convert fetch requests to downloads
svn path=/trunk/netsurf/; revision=13026
2011-10-10 08:56:34 +00:00
Michael Drake
265bfdd323 Avoid a strlen.
svn path=/trunk/netsurf/; revision=13004
2011-10-08 12:22:29 +00:00
Michael Drake
f14184ee1d Pedantic style changes.
svn path=/trunk/netsurf/; revision=13001
2011-10-08 10:22:34 +00:00
John Mark Bell
4cd69b8aa9 Improve error handling
svn path=/trunk/netsurf/; revision=12997
2011-10-08 00:06:43 +00:00
John Mark Bell
59fdc29e66 Lose unnecessary logging
svn path=/trunk/netsurf/; revision=12993
2011-10-07 22:31:52 +00:00
Vincent Sanders
2f60ecea61 use the default resource:favicon.ico when a site has no icon of its own
svn path=/trunk/netsurf/; revision=12992
2011-10-07 22:22:15 +00:00
Michael Drake
62111d36be nsurl_ref returns the referenced nsurl.
svn path=/trunk/netsurf/; revision=12991
2011-10-07 22:18:27 +00:00
Michael Drake
2c636bc0a4 Don't fetch favicons for (i)frames.
svn path=/trunk/netsurf/; revision=12986
2011-10-07 21:49:29 +00:00
Vincent Sanders
4c829ae481 use resource:favicon.ico instead of resource:favicon.png
svn path=/trunk/netsurf/; revision=12982
2011-10-07 21:03:45 +00:00
Vincent Sanders
8a293636fb fix favicon default selection for non http(s) urls
svn path=/trunk/netsurf/; revision=12981
2011-10-07 20:47:34 +00:00
Vincent Sanders
33af42360f fix ico handler to actually decode to bitmap when called via get_internal
svn path=/trunk/netsurf/; revision=12980
2011-10-07 19:39:52 +00:00
John Mark Bell
c22373e000 Attempting to download favicons is silly
svn path=/trunk/netsurf/; revision=12979
2011-10-07 19:09:52 +00:00
Vincent Sanders
8f3d6d3649 consolidate code so a single codepath starts the retrival of the favicon
svn path=/trunk/netsurf/; revision=12978
2011-10-07 18:49:16 +00:00
Vincent Sanders
230779848e metadata links stored in contents
browser uses metadata links for favicons

svn path=/trunk/netsurf/; revision=12977
2011-10-07 18:12:47 +00:00
Vincent Sanders
52ad2c1e25 initial favicon support
svn path=/trunk/netsurf/; revision=12975
2011-10-06 23:31:55 +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
861f88aa43 Port llcache to nsurl.
svn path=/trunk/netsurf/; revision=12904
2011-09-28 11:26:30 +00:00
Michael Drake
7bf7d2d745 Improve resizing frames.
svn path=/trunk/netsurf/; revision=12771
2011-09-07 12:27:37 +00:00
Michael Drake
a8a28345dd Handle scrolled (i)frames.
svn path=/trunk/netsurf/; revision=12757
2011-09-06 18:39:28 +00:00
Michael Drake
57da2b3af1 Expose contextual content request API to front ends, via browser window layer.
svn path=/trunk/netsurf/; revision=12755
2011-09-06 18:11:10 +00:00
Michael Drake
cd45ca469e Move to new bw dimensions.
svn path=/trunk/netsurf/; revision=12747
2011-09-06 10:24:28 +00:00
Michael Drake
dca97bc8d4 Remove unused browser_window_owner function.
svn path=/trunk/netsurf/; revision=12739
2011-09-05 15:41:35 +00:00
Michael Drake
19317c76ba Implement frames in the core.
svn path=/trunk/netsurf/; revision=12709
2011-09-04 17:24:45 +00:00
John Mark Bell
6807fa854d Sniff content types where appropriate.
We never sniff for CSS, nor for non-page artefacts (e.g. treeview icons)

svn path=/trunk/netsurf/; revision=12707
2011-09-04 06:28:09 +00:00
Michael Drake
bbf77c54b9 Fix scrollbar click coords.
svn path=/trunk/netsurf/; revision=12668
2011-08-25 13:34:48 +00:00
Michael Drake
65398660e5 When passing drag on to it's bw, we don't need to do anything if the drag is for the current bw.
svn path=/trunk/netsurf/; revision=12666
2011-08-24 21:53:58 +00:00
Michael Drake
ecff5eaf83 During drags, prevent mouse interaction with other widgets.
svn path=/trunk/netsurf/; revision=12665
2011-08-24 20:44:47 +00:00
Michael Drake
aa0b7ed5d7 Set up page drag start in iframes.
svn path=/trunk/netsurf/; revision=12664
2011-08-24 19:26:45 +00:00
Michael Drake
a47dff15dd Improve browser window drag tracking, so that drags in internal browser windows (iframes) carry on if pointer goes outside the bw that owns the drag.
svn path=/trunk/netsurf/; revision=12663
2011-08-24 18:22:22 +00:00
Michael Drake
d579559f4d Remove current_redraw_browser global.
svn path=/trunk/netsurf/; revision=12661
2011-08-24 13:48:12 +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
John Mark Bell
35cf89594d Abort loading content when closing window
svn path=/trunk/netsurf/; revision=12620
2011-07-23 17:53:57 +00:00
Michael Drake
430b63e242 Remove assumption of gui window from search.
svn path=/trunk/netsurf/; revision=12603
2011-07-14 10:27:24 +00:00
Michael Drake
9c91893028 Fix selection for non-gui browser windows (iframes).
Selection no longer uses current_redraw_browser.
Fix long-standing selection bugs on platforms that use action on release behaviour.

svn path=/trunk/netsurf/; revision=12598
2011-07-13 13:20:26 +00:00
Michael Drake
bc91b72c56 Clean up text input code. Now desktop/textinput.{c|h} is concerend with browser windows only. HTML content specific stuff moved to render/textinput.{c|h} and disassociated from browser windows.
svn path=/trunk/netsurf/; revision=12587
2011-07-07 17:50:04 +00:00
Michael Drake
e4a0bebd27 Pass struct rect to browser_window_update_box(), rather than union content_msg_data.
svn path=/trunk/netsurf/; revision=12584
2011-07-06 15:34:49 +00:00
Michael Drake
727aa61bb6 Pass struct rect to gui_window_update_box(), rather than union content_msg_data.
svn path=/trunk/netsurf/; revision=12574
2011-07-06 12:39:26 +00:00
Michael Drake
865af5f235 Fix update_box coords when issued from scaled iframe.
svn path=/trunk/netsurf/; revision=12573
2011-07-06 11:58:09 +00:00
Michael Drake
9f2ea3be4c Iframe scrollbars.
svn path=/trunk/netsurf/; revision=12571
2011-07-05 20:13:28 +00:00
Michael Drake
1f9b970f57 Set focus browser_window in place_caret.
svn path=/trunk/netsurf/; revision=12570
2011-07-04 12:15:21 +00:00
Michael Drake
a6d4f9cb30 Function to find out if browser window has a selection. Front ends should use this API. RISC OS front end updated.
svn path=/trunk/netsurf/; revision=12556
2011-07-02 16:43:20 +00:00
Michael Drake
3f485e083d Minor selection changes.
svn path=/trunk/netsurf/; revision=12555
2011-07-02 16:12:00 +00:00
Michael Drake
dde300ea7d Set selection browser window as before, for now.
svn path=/trunk/netsurf/; revision=12553
2011-07-02 12:18:04 +00:00
Michael Drake
f9566b6405 Set/unset selection context's browser window on content_open/content_close.
svn path=/trunk/netsurf/; revision=12551
2011-07-01 11:16:43 +00:00
Michael Drake
eddae6af06 Remove plotter table global. Pass a redraw context around redraw functions. Knockout could be handled better. Note: untested on most front ends.
svn path=/trunk/netsurf/; revision=12543
2011-06-30 15:48:07 +00:00
Michael Drake
416a6452d5 Function to get root browser window.
svn path=/trunk/netsurf/; revision=12531
2011-06-28 21:09:57 +00:00
Michael Drake
3128ecf2a5 Unify content_redraw params in content_redraw_data struct. Core and RISC OS content handlers updated.
svn path=/trunk/netsurf/; revision=12529
2011-06-28 20:17:39 +00:00