1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-12-04 14:46:47 -05:00
Commit Graph

391 Commits

Author SHA1 Message Date
Jonas Fonseca
7679ccd881 Associate .rss file extension with application/rss+xml 2005-12-20 17:00:33 +01:00
Miciah Dashiel Butler Masters
b150fa8c56 #include util/align.h in bfu/msgbox.h. 2005-12-20 10:48:45 +00:00
Miciah Dashiel Butler Masters
be76bed022 Check the return values of JS_SetPrivate and JS_DefineProperties in
get_cache_entry_object.
2005-12-20 10:44:51 +00:00
Miciah Dashiel Butler Masters
9559871fd0 Add src/document/sgml/rss/Makefile. 2005-12-20 05:29:05 +00:00
Miciah Dashiel Butler Masters
178bc908e1 Drop an unnecessary and non-existent #include, added in commit
56d634b946.
2005-12-20 05:28:36 +00:00
Miciah Dashiel Butler Masters
71fb9a1db7 Move smjs_invoke_elinks_object_method from hooks.c to elinks_object.c. 2005-12-20 05:26:55 +00:00
Miciah Dashiel Butler Masters
3302baca35 Rename call_script_hook to smjs_invoke_elinks_object_method and rename
its hook parameter to method.
2005-12-20 05:25:36 +00:00
Jonas Fonseca
ec9f41c1cd Retire specialized proc-instruction DOM renderer callback
It now uses the DOM element callback. Before the proc-instruction
attributes was shown twice.
2005-12-20 03:25:51 +01:00
Jonas Fonseca
4104f5d2f0 Only consider application/rss+xml internal with CONFIG_DOM 2005-12-20 03:13:08 +01:00
Jonas Fonseca
56d634b946 Add basic support for RSS parsing for application/rss+xml content types
This means the RSS source will be highlighted, but by default the HTML
renderer will be used for the default rendering.
2005-12-20 03:08:13 +01:00
Jonas Fonseca
5777941d06 DOM select: Completely rewrite the parser for nth arguments 2005-12-20 01:50:39 +01:00
Jonas Fonseca
c2e30c8eea get_child_dom_select_node(): Use the foreach_dom_node iterator 2005-12-20 01:48:21 +01:00
Jonas Fonseca
ceffe8f1a4 Make the SGML parser ready for (specializing) doctypes other than HTML 2005-12-20 01:04:33 +01:00
Jonas Fonseca
f6e551379e Remove some includes which are no longer needed 2005-12-20 00:48:34 +01:00
Jonas Fonseca
8e769d48a5 Misc cleanups and improvements 2005-12-20 00:01:18 +01:00
Miciah Dashiel Butler Masters
f5b102cfea Assert smjs_ctx in get_cache_entry_object. 2005-12-19 21:33:10 +00:00
Miciah Dashiel Butler Masters
2e0907ff8d In script_hook_pre_format_html, check whether get_cache_entry_object
returns NULL.
2005-12-19 21:28:52 +00:00
Miciah Dashiel Butler Masters
7d5e006908 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2005-12-19 21:26:35 +00:00
Miciah Dashiel Butler Masters
2b6ef067be In init_smjs, destroy the runtime if JS_NewContext returns NULL. 2005-12-19 21:26:05 +00:00
Miciah Dashiel Butler Masters
fcd13e35cb Do nothing in cleanup_smjs is smjs_ctx is NULL. 2005-12-19 21:24:54 +00:00
Miciah Dashiel Butler Masters
11c90e7205 Add some assertions. 2005-12-19 21:24:27 +00:00
Jonas Fonseca
3b412553b6 match_attribute_selectors(): Fix warning about uninitialized attr variable
Outspitten on FreeBSD.
2005-12-19 22:13:23 +01:00
Miciah Dashiel Butler Masters
5ca5381fbc Rework smjs_load_hooks not to free path until it is done and to always
call done_string on the script string, even when add_file_to_string fails.
2005-12-19 19:08:34 +00:00
Miciah Dashiel Butler Masters
d12226d4cb Fix a problem with my rewrite of scroll_menu where selecting an item on
a main menu selects the next item instead.
2005-12-19 03:44:14 +00:00
Jonas Fonseca
2e2c0a590e Add basic functionality for selecting DOM nodes based on CSS3 selectors
The design should more or less be in place. There is still a lot of things
missing but it should actually be enough for using it in a simple RSS renderer.

Amongst several things, :nth-* pseudo-classes and :not() syntax is not in
place.
2005-12-19 03:44:18 +01:00
Jonas Fonseca
b64e122159 Change order of variables given to foreach_dom_node iterators 2005-12-19 02:57:00 +01:00
Jonas Fonseca
330c0174e5 Rename DOM stack iterators and make them include all states when iterating
They are now called: foreach{back,}_dom_stack_state (...) and the immutable
flag together with node type restricted stack searches should ensure that
the document root node never is popped.
2005-12-19 02:51:32 +01:00
Jonas Fonseca
051db70dd4 Add boolean immutable flag to the DOM stack state
Can be used to ensure the document root node never leaves the stack while
parsing.
2005-12-19 02:34:26 +01:00
Jonas Fonseca
50223a91ae Merge with git+ssh://pasky/srv/git/elinks.git 2005-12-19 02:18:53 +01:00
Jonas Fonseca
ee1eba9689 Rename: dom_stack_has_parents() -> dom_stack_is_empty() (with negated value) 2005-12-19 02:15:36 +01:00
Jonas Fonseca
bc338207e7 do_pop_dom_node(): move dom_stack_has_parents() to assertion
All callers already checks if the stack is empty.
2005-12-19 02:05:43 +01:00
Miciah Dashiel Butler Masters
82850fab29 Rewrite the better part of scroll_menu so that it is more readable
and wraps properly when the first or last items on a menu are
unselectable. Drop search_selectable, which is now unnecessary.
2005-12-19 01:01:52 +00:00
Jonas Fonseca
9bc71ec8a9 Retire the SEE-based *.js scripting backend 2005-12-19 01:22:32 +01:00
Miciah Dashiel Butler Masters
9fb9e8700d Predicate the SpiderMonkey scripting backend on CONFIG_SPIDERMONKEY
rather than on CONFIG_ECMASCRIPT.
2005-12-18 22:51:47 +00:00
Jonas Fonseca
fa124d0988 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2005-12-18 23:49:15 +01:00
Miciah Dashiel Butler Masters
2fef4bd531 In cache_entry_get_property and cache_entry_set_property, use
cache_entry_is_valid to check that the reference to the struct cache_entry
is still valid. Thanks to fonseca for the reminder.
2005-12-18 22:47:58 +00:00
Jonas Fonseca
8ea7f202b1 #include "src/scripting/smjs/cache_object.h" 2005-12-18 22:17:48 +01:00
Jonas Fonseca
838e2ea0c9 Make all global variables exported by src/scripting/smjs/core.h extern 2005-12-18 19:57:03 +01:00
Miciah Dashiel Butler Masters
51322649fe Load the default script. 2005-12-18 18:02:32 +00:00
Miciah Dashiel Butler Masters
e3fed7e19e Add a pre-format-html hook. 2005-12-18 17:58:42 +00:00
Miciah Dashiel Butler Masters
30ccbaaf21 Add the elinks.alert method. 2005-12-18 17:49:21 +00:00
Miciah Dashiel Butler Masters
6e0d4374c1 Add the "elinks" object. 2005-12-18 17:47:54 +00:00
Miciah Dashiel Butler Masters
acb2bb80be Create a global object. 2005-12-18 17:40:13 +00:00
Miciah Dashiel Butler Masters
60d40b7f50 Initial skeleton for SpiderMonkey scripting backend. 2005-12-18 17:40:00 +00:00
Miciah Dashiel Butler Masters
a96c0250c3 Merge textarea updates 2005-12-18 16:26:05 +00:00
Miciah Dashiel Butler Masters
d11dc65320 If the user edits a textarea with an external editor but exceeds the
maximum length, do not simply drop the changes, but instead truncate them,
warn the user, and provide the user with the path to the temporary file
from which the full changes can be recovered.
2005-12-18 16:23:52 +00:00
Witold Filipczyk
d09bdf7c28 Fix problem with double decompression of local files
ELinks tries decompress local gziped files twice, which causes problems
with some files eg. with this README.gz. This patch prevents it.
2005-12-18 17:03:34 +01:00
Miciah Dashiel Butler Masters
69f38bcbcc After editing a textarea in an external editor, do not unlink the file
if it was too large to fit into the textarea.
2005-12-18 16:02:37 +00:00
Miciah Dashiel Butler Masters
9959f4d788 Fold load_textarea_file into textarea_edit. 2005-12-18 16:00:48 +00:00
Miciah Dashiel Butler Masters
517bb03da4 Add routine add_file_to_string and use it in load_textarea_file. 2005-12-18 15:56:59 +00:00
Miciah Dashiel Butler Masters
dc29fa0a0b Add a missing bracket in report_scripting_error. 2005-12-18 15:32:11 +00:00
Jonas Fonseca
3dadc0ad46 Fix order of args passed to SEE_string_sprintf("%.*s") 2005-12-17 19:19:42 +01:00
Jonas Fonseca
6251884765 One more compile fix for evhook_use_param() macro usage 2005-12-17 18:36:46 +01:00
Jonas Fonseca
1e60feacb4 Compile fix for arg usage macro 2005-12-17 18:27:49 +01:00
Miciah Dashiel Butler Masters
5145ae266a Follow-up for commit fdacffd113: change
the Python, Ruby, and SEE hooks for pre-format-html to work properly
now that they are given a non-NUL-terminated string. Thanks to fonseca
for noticing this problem as well as that fixed by the previous commit.
2005-12-17 16:38:24 +00:00
Miciah Dashiel Butler Masters
fdacffd113 Change the pre-format event so that hooks are given the cache entry
instead of the URI, content, and length of the entry. Change the hooks
to use add_fragment. This should fix the memory leakage when multiple
hooks change the same document, closing bug 703.
2005-12-17 06:32:08 +00:00
Miciah Dashiel Butler Masters
35aa8119e3 In run_lua_func, pass handle_ref 0 for the unref flag so that bindings
will work more than once.
2005-12-17 01:42:20 +00:00
Miciah Dashiel Butler Masters
717b440f62 Add an unref flag to handle_ref so that the unreferencing is optional. 2005-12-17 01:36:26 +00:00
Miciah Dashiel Butler Masters
8edcb292cb In l_set_option, use lua_toboolean for boolean options instead of
lua_tonumber. Now set_option(opt, not get_option(opt)) will always work
to toggle a boolean option.
2005-12-17 00:31:45 +00:00
Miciah Dashiel Butler Masters
35e5ec74d2 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2005-12-17 00:09:02 +00:00
Miciah Dashiel Butler Masters
fa0ce83f24 Recomment do_tab_compl_unambiguous. 2005-12-17 00:02:15 +00:00
Miciah Dashiel Butler Masters
093800d6fb Only set match the first time since we are only interested in the common
substring at the start, which will be the same for all matches.
2005-12-16 23:59:04 +00:00
Miciah Dashiel Butler Masters
aad46173ae Refactor. 2005-12-16 23:50:17 +00:00
Miciah Dashiel Butler Masters
63a71348f2 Refactor. 2005-12-16 23:48:41 +00:00
Miciah Dashiel Butler Masters
5279ea97da Drop a funny comment. 2005-12-16 23:47:25 +00:00
Miciah Dashiel Butler Masters
20ee738904 Stop using a special value of 0 for longest_common_match to check whether
a match has been found and just check whether match is NULL.
2005-12-16 23:37:52 +00:00
Miciah Dashiel Butler Masters
0f8fe3f919 Define a new routine strcommonlen and use it in do_tab_compl_unambiguous. 2005-12-16 23:35:11 +00:00
Jonas Fonseca
45861c68e1 pop_dom_state(): Drop unused left-over argument 2005-12-15 22:05:30 +01:00
Jonas Fonseca
ef5d5fc27a dom_node_cmp(): Only use element or attribute type ID if both are set 2005-12-15 22:02:02 +01:00
Jonas Fonseca
c2d27a33d8 Rename: nav -> stack 2005-12-15 17:24:20 +01:00
Jonas Fonseca
87c8a5cee4 Merge with 5ef041c051
Which mysteriously didn't get auto-merged when updating.
2005-12-13 20:26:06 +01:00
Jonas Fonseca
5ef041c051 Redo the assertm() message to just show the type of the node and parent 2005-12-13 20:08:58 +01:00
Miciah Dashiel Butler Masters
13f4464151 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2005-12-13 18:03:55 +00:00
Laurent MONIN
1ca88c9147 encode_multipart(): move @rd to inner scope. 2005-12-13 17:04:24 +01:00
Laurent MONIN
10aa67fb32 sort_submitted_values(): move @change abd @next to inner scope. 2005-12-13 17:01:45 +01:00
Laurent MONIN
dbcc033edb draw_frames(): move @more to inner scope. 2005-12-13 16:59:10 +01:00
Laurent MONIN
4a930507e4 process_file_requests(): move @more, @ftl and @doc_view variables to
inner scope.
2005-12-13 16:57:17 +01:00
Laurent MONIN
1c7b27c99f abort_files_load(): make @more and @ftl variables local to the loop. 2005-12-13 16:53:56 +01:00
Laurent MONIN
f331c7ac85 sort_bittorrent_peer_connections(): make @resort variable local to
the loop.
2005-12-13 16:52:08 +01:00
Laurent MONIN
852bdaec88 sort_queue(): make @swp variable local to the loop. 2005-12-13 16:50:04 +01:00
Jonas Fonseca
2eebef098d Prepare the CSS scanner for tokenizing ~ and + as char tokens
They are used for "E ~ F" and "E + F" element relations.
2005-12-13 16:35:41 +01:00
Jonas Fonseca
d1635d6970 Fix wrong assertion message string
You just cannot print dom_string structs with %s.
2005-12-13 16:33:50 +01:00
Jonas Fonseca
be3223b38e Don't try MIME handlers for application/x-bittorrent
It is an internally supported protocol, so it should be all internal. The
other thing was just causing headacks. Thanks to Neuromancer for suggesting
not to endeavor into another configuration nightmare. And thanks to arcatan
for requesting this for the n-th time. ;)
2005-12-13 16:32:53 +01:00
Jonas Fonseca
cd4fd51438 Compile fix, reported by zas 2005-12-13 16:28:14 +01:00
Jonas Fonseca
b2c1af1611 Add key parameter to the tracker announce URI
If non-empty it will be sent to the tracker. A short description of the
purpose:

* key: Optional. An additional identification that is not shared
  with any users. It is intended to allow a client to prove their
  identity should their IP address change.

Reported by Toksyuryel.
2005-12-13 16:16:55 +01:00
Jonas Fonseca
f35026ecfb Add DOM_NODE_UNKNOWN node type for internal purposes only 2005-12-13 04:52:47 +01:00
Jonas Fonseca
771a2eea82 Prepare the CSS scanner for parsing [foo{|,*,^,$,}=bar] selectors 2005-12-13 04:50:30 +01:00
Miciah Dashiel Butler Masters
db5b9be213 Convert the body of activate_link to a single switch statement. 2005-12-13 00:00:08 +00:00
Miciah Dashiel Butler Masters
b191247894 Reflow some code to reduce indentation in activate_link. 2005-12-12 23:57:37 +00:00
Miciah Dashiel Butler Masters
73e3cdecd0 Factor activate_link out of enter, which now just acquires the link
reference, calls activate_link, and triggers the onClick event.
2005-12-12 22:58:05 +00:00
Jonas Fonseca
5ff0849eb3 set_dom_string(): take length as size_t; -1 means use strlen() to get size 2005-12-12 17:42:26 +01:00
Jonas Fonseca
27116d6385 Make the DOM stack and the SGML parser interface more general
They now both hold a single private data member. This means the parser now
holds the renderer data.
2005-12-12 17:41:09 +01:00
Laurent MONIN
c769b81f93 send_event(): initialize @doc_view only when needed, and prevent a
useless test for mouse event when event is of keyboard type.
2005-12-12 17:11:28 +01:00
Laurent MONIN
59c8dcc473 get_current_link_info(): simplify code flow. 2005-12-12 17:05:43 +01:00
Laurent MONIN
ac5441db9e Prevent successive calls to time(), since it doesn't have much impact. 2005-12-12 17:00:08 +01:00
Jonas Fonseca
458fc5ee79 Review and change dom_string specific uint16_t value to size_t 2005-12-10 22:24:30 +01:00
Jonas Fonseca
c1136b8791 Use dom_string for storing sgml_node_info data
Reduces code redundancy for node searching. Oh, comment the purpose
of the special SGML_NODE_HEAD() macro.
2005-12-10 21:58:59 +01:00
Jonas Fonseca
cdc749def3 get_dom_node_value(): indent switch 2005-12-10 21:50:40 +01:00
Jonas Fonseca
86c9a37810 Factor out dom_string_casecmp() 2005-12-10 21:49:33 +01:00
Jonas Fonseca
87aad88c96 Use dom_string throughout the DOM stack interface 2005-12-10 21:42:49 +01:00