Jonas Fonseca
edee14699e
Reorder some struct and fix some comments
2005-12-21 04:57:25 +01:00
Jonas Fonseca
2a24ad9099
Introduce enum dom_stack_flag to make init_dom_stack() more obvious
2005-12-21 04:48:50 +01:00
Jonas Fonseca
632f12f82a
init_dom_stack(): Drop unused object_size argument
2005-12-21 04:41:35 +01:00
Jonas Fonseca
f8d48e81eb
Move the state_objects to the DOM stack contexts
...
This way all contexts are now separated, almost.
2005-12-21 04:38:04 +01:00
Jonas Fonseca
910c51abaf
Remove the now unused DOM stack data member
2005-12-21 03:59:46 +01:00
Jonas Fonseca
da33827771
Use a (for now bogus) DOM stack context for holding DOM select data
2005-12-21 03:57:17 +01:00
Jonas Fonseca
225e3a6764
Use a (for now bogus) DOM stack context for holding the SGML parser data
2005-12-21 03:39:17 +01:00
Jonas Fonseca
87d8c890dd
Define convinience macros for getting parser and parser states from stack
2005-12-21 03:12:35 +01:00
Jonas Fonseca
3374f3cbba
Drop data member from struct sgml_parser it is at stack->current->data
2005-12-21 01:36:47 +01:00
Jonas Fonseca
c524655362
Add current member to struct dom_Stack which holds the current context
2005-12-21 01:32:43 +01:00
Jonas Fonseca
0faa8d7462
Add a data member to struct dom_stack_context (not used yet)
2005-12-21 01:25:50 +01:00
Jonas Fonseca
12a2f96920
Introduce struct dom_Stack_context
...
- For now it just stores the dom_stack_context_info reference.
- Rename dom_stack members to contexts and contexts_size.
- Use mem_alloc_align based rellocation scheme.
2005-12-21 01:15:19 +01:00
Jonas Fonseca
a77242738c
Rename: add_dom_stack_callbacks() -> add_dom_stack_context()
2005-12-21 01:04:37 +01:00
Jonas Fonseca
3843be25af
Rename: struct dom_stack_callbacks -> struct dom_stack_context_info
2005-12-21 00:58:22 +01:00
Miciah Dashiel Butler Masters
f6ce6c84f7
Rename get_cache_entry_object to smjs_get_cache_entry_object for great
...
consistency.
2005-12-20 22:13:29 +00:00
Miciah Dashiel Butler Masters
9e15d09340
NULL-terminate cache_entry_props. This and the last change resolves
...
crashes with GCC 2.x and 3.x reported by zas.
2005-12-20 22:10:59 +00:00
Miciah Dashiel Butler Masters
bb4f08172b
In init_smjs, mark global_class static.
2005-12-20 22:09:56 +00:00
Jonas Fonseca
5f9583579e
And the SGML parser should not add any callbacks anymore
2005-12-20 21:12:25 +01:00
Jonas Fonseca
0834e77252
Make the DOM renderer add its own DOM stack callbacks
2005-12-20 21:10:09 +01:00
Jonas Fonseca
1228ef8d48
Create the SGML parser->root node on demand
...
This way all callbacks added after init_sgml_parser() will have their
document node push callback invoked.
2005-12-20 21:08:47 +01:00
Jonas Fonseca
625725f0e9
Allow for multiple callbacks to be attached to the DOM stack
2005-12-20 20:27:20 +01:00
Jonas Fonseca
e309de8950
Introduce call_dom_stack_callbacks as a common way to call back
2005-12-20 20:01:18 +01:00
Jonas Fonseca
d6b125fa68
Drop the return value from dom_stack_callback_T
...
... since the feature with popping the node if the return value is NULL is
not used and it doesn't make a lot of sense with multiple callbacks.
2005-12-20 19:48:33 +01:00
Jonas Fonseca
990c5e0a26
Combine DOM stack push and pop callbacks into one struct
2005-12-20 19:20:04 +01:00
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
Jonas Fonseca
0fab644bee
get_dom_node_value(): move non-compliant functionality to the tree renderer
...
Entity references are supposed to have a null value and the string
compression is for improving the tree view.
2005-12-10 21:37:47 +01:00
Jonas Fonseca
52f5276f92
get_dom_node_name(): indent switch statement
2005-12-10 20:05:01 +01:00
Jonas Fonseca
295679a5e6
get_dom_node_name(): return struct dom_string *
...
Also, simplify the rendering a bit for now.
2005-12-10 20:03:43 +01:00
Jonas Fonseca
7d6db6b152
Update the DOM tree renderer to support dom_strings
2005-12-10 19:44:01 +01:00
Jonas Fonseca
2aedeb0a67
get_dom_node_type_name(): return struct dom_string *
2005-12-10 19:28:37 +01:00
Jonas Fonseca
5f69255cbc
get_dom_node_map_entry(): take name as a dom_string
...
Requires that dom_string->length becomes a size_t.
2005-12-10 19:21:12 +01:00
Jonas Fonseca
0546759b4b
Use struct dom_string for node->proc_instruction.instruction
2005-12-10 18:59:17 +01:00
Jonas Fonseca
9935bf2083
Convert some yet unused strings to use the dom_string struct
...
Also remove the unneeded path member from the dom_node_id_item struct. It
was obsoleted by the addition of dom_node->parent.
2005-12-10 18:51:08 +01:00
Jonas Fonseca
ed7a292966
Use struct dom_string for node->attribute.value
2005-12-10 18:42:54 +01:00
Jonas Fonseca
ce3778c3c0
Add struct dom_string
...
In time it should be used for all strings in the DOM engine.
For now it is just used for node->string.
2005-12-10 18:37:47 +01:00
Miciah Dashiel Butler Masters
f9dea85126
Drop a line that should have been dropped with commit
...
3719e75068
, 'Reduce code redundancy.'
2005-12-10 16:24:54 +00:00
Petr Baudis
0281f732ab
Fix broken onClick on checkboxes etc.
...
onClick on checkbox would get triggered before actually ticking the
checkbox, which is not the expected behaviour (apparently). This change
makes sure that we call the onClick event handler only after actually
doing our work with the checkbox/select widget (for the other widgets,
things should stay the same).
2005-12-10 03:48:42 +01:00
Russ Rowan
588ba7db30
fonseca: We don't do that for other downloaded files, so why add bt links?
...
(global history)
2005-12-09 19:25:06 -05:00
Jonas Fonseca
f9c8838465
The not so short BitTorrent TODO list
2005-12-09 22:43:28 +01:00
Russ Rowan
9bd00e0ad8
Added a short TODO list for fonseca.
2005-12-09 16:29:02 -05:00
Laurent MONIN
20cb9ad9ee
html_option(): optimize code.
2005-12-08 16:33:37 +01:00
Laurent MONIN
8fe86a1a63
Drop trailing spaces.
2005-12-08 16:27:51 +01:00
Laurent MONIN
3719e75068
Reduce code redundancy.
2005-12-08 16:26:37 +01:00
Laurent MONIN
1f7aa841aa
Simplify tests.
2005-12-08 16:25:22 +01:00
Laurent MONIN
d9f0de82f8
Use closing_tag variable in tests.
2005-12-08 16:22:53 +01:00
Laurent MONIN
37ec65247d
Minor code reordering.
2005-12-08 16:20:13 +01:00
Laurent MONIN
279f2bec93
Goto see instead of se.
2005-12-08 16:19:20 +01:00
Laurent MONIN
a499bf5a61
Introduce closing_tag variable.
2005-12-08 16:16:28 +01:00
Laurent MONIN
ae00f391f2
t_name -> name, t_namelen -> namelen.
2005-12-08 16:13:21 +01:00
Laurent MONIN
5f66f98b66
Prevent useless tests when @namelen is 0.
2005-12-08 16:11:19 +01:00
Jonas Fonseca
8aa078393a
Move dom_node_data union outside the dom_node struct
2005-12-08 03:26:34 +01:00
Jonas Fonseca
45958b773a
Merge with dom-stack-keep-nodes
2005-12-08 03:07:20 +01:00
Jonas Fonseca
4480a9a4cd
Removes node from the DOM tree when using the SGML stream parser
...
That should free up some short-term memory.
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
2005-12-08 03:02:27 +01:00
Jonas Fonseca
8f97dc8403
done_dom_node(): remove the node from all parent lists
...
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
2005-12-08 02:59:40 +01:00
Jonas Fonseca
93fb17ea2a
Indent switch statement
...
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
2005-12-08 02:32:23 +01:00
Jonas Fonseca
ce5bf8c6f8
Fix DOM node list iterators macros
...
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
2005-12-08 02:04:13 +01:00
Jonas Fonseca
1c2f271782
Add parent member to dom_node
...
Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
2005-12-08 01:35:48 +01:00
Laurent MONIN
a1284ccd1f
skip_table(): simplify code.
2005-12-07 20:51:09 +01:00
Laurent MONIN
f3838bac5b
parse_table(): cache to_upper() result.
2005-12-07 20:36:07 +01:00
Laurent MONIN
485e16c6c9
parse_table(): optimize code a bit.
2005-12-07 20:32:36 +01:00
Laurent MONIN
53cbf3e3df
parse_table(): introduce a local variable @is_header to cache test result.
2005-12-06 15:38:34 +01:00
Laurent MONIN
90d843e8fc
parse_table(): re-order code.
2005-12-06 15:35:52 +01:00
Laurent MONIN
a00dfbecf9
parse_table(): fix missing goto see.
2005-12-06 15:32:02 +01:00
Laurent MONIN
29a80ce4eb
parse_table(): optimize even more using @closing_tag.
2005-12-06 15:19:44 +01:00
Laurent MONIN
b63dd28500
parse_table(): use strlcasecmp() instead of strncasecmp().
2005-12-06 15:17:56 +01:00
Laurent MONIN
3fe59e8c7a
parse_table(): totally drop @t_name and @t_namelen in favor of @name
...
and @namelen.
2005-12-06 15:15:25 +01:00
Laurent MONIN
975a4251e8
parse_table(): reorder code to optimize even more.
2005-12-06 15:07:49 +01:00
Laurent MONIN
b6c54846ad
parse_table(): reduce code redundancy.
2005-12-06 15:02:45 +01:00
Laurent MONIN
a371f22b22
parse_table(): use intermediate variables to optimize tests.
2005-12-06 14:57:25 +01:00
Jonas Fonseca
b06a8adeac
Move parser root node initialization to init_sgml_parser()
...
... parse_sgml() in theory should be able to be called multiple times.
2005-12-06 12:30:53 +01:00
Jonas Fonseca
69b321cb5b
Replace struct cache_entry member with struct uri member
...
Reduces the number of (unused) dependencies. Also, update the #include
list removing old entries.
2005-12-05 23:47:23 +01:00
Jonas Fonseca
38b8503161
Remove document member from struct sgml_parser
...
The document URI can be accessed from the cache entry.
2005-12-05 23:31:54 +01:00
Jonas Fonseca
1d24d549e4
Merge with dom-parser-stream
2005-12-05 19:41:56 +01:00
Jonas Fonseca
c7ad6f967b
Introduce new pop_dom_state()
...
It's basically pop_dom_nodes() without the search part and is now used as a
backend in pop_dom_nodes(). Use it in parse_sgml_document() to avoid two
DOM stack searches in a row.
2005-12-05 19:40:35 +01:00
Jonas Fonseca
1c4a0d67ce
Restore highlighting of element end-tags
...
... by installing a pop-callback for elements and responding to whatever
the parser has put in the end_token parser state member.
2005-12-05 19:33:15 +01:00
Jonas Fonseca
9aebb66bce
Introduce separate push/pop callbacks
...
This should make it possible to do the SAX (parser stream thing) for XBEL.
And will also be used for fixing the end-tag highlighting.
2005-12-05 19:31:42 +01:00
Jonas Fonseca
d7d5fcab4d
Save the end tag token in the SGML parser state
...
... so that the renderer eventually can pick it up and highlight it.
2005-12-05 19:28:23 +01:00
Jonas Fonseca
7a912795e1
Make the parser stream mode work as intended
...
This makes the parser and renderer share the stack, most importantly the
callbacks are now those of the renderer. Disable node attribute rendering
code that worked around the attributes being visited in sorted order.
2005-12-05 19:25:13 +01:00
Jonas Fonseca
2dddf86acc
Initialize the renderer before initializing the parser
...
... so it is ready when/if the parser will push any initial states.
2005-12-05 19:20:48 +01:00
Jonas Fonseca
65b504f093
Remove all traces of the element end-tag hilighting hack
...
End-tags will stay uncolored for the next few commits.
2005-12-05 11:21:08 +01:00
Jonas Fonseca
4c8d871404
Introduce sgml_parser_type for specifying tree and streaming parsers
...
Mostly added for the future, since currently only one parser type is
supported.
2005-12-05 11:19:13 +01:00
Jonas Fonseca
05a61cd16a
Update the DOM stack comment for things to come
2005-12-05 11:16:52 +01:00
Jonas Fonseca
8f25d73013
Use separate data variables for storing DOM stack data
...
They will eventually have to share the stack.
2005-12-05 11:16:05 +01:00
Jonas Fonseca
f85b498375
Add FIXME about using DOM node subtypes when searching the DOM stack
2005-12-05 11:11:40 +01:00
Jonas Fonseca
208515c82f
Fix access to free()d memory in the DOM stack state data
...
There already was one work-around in the code related to clearing of the
state data after popping. Instead of storing a pointer to the state data in
the state we now store the depth of the state (in the stack) and use a
macro to access the state data. The bug occurred when reallocating the
stack state objects and the stack data pointers wasn't updated to point to
the newly allocated data.
2005-12-05 11:11:06 +01:00
Jonas Fonseca
cc416b2234
Prospone pushing of DOM nodes on the stack until they are fully initialized
...
Goes for both attributes and elements.
2005-12-05 10:26:55 +01:00
Laurent MONIN
eb74cdf6f9
html_button(): drop suspect line which has nothing to do with BUTTON
...
html element.
2005-12-05 09:57:54 +01:00
Laurent MONIN
59329dbc30
get_resource_info(): fix memory cache size display.
2005-12-05 09:37:29 +01:00
Laurent MONIN
e498b4bc74
Fix dump_frags() compilation (cache debug only).
2005-12-05 09:33:11 +01:00
Jonas Fonseca
cfb347bf45
Fix reporting of cache size in the resource dialog
...
The longlong bigval was never used. Reported by zas.
2005-12-04 20:13:26 +01:00
Laurent MONIN
15a7069fea
Move code from html_input() to new html_input_format().
2005-12-04 18:25:23 +01:00
Laurent MONIN
b863b65fbc
html_input(): minor code reordering.
2005-12-04 12:45:42 +01:00
Laurent MONIN
a57c193ad9
html_input(): drop local variable @type, use @fc->type directly.
2005-12-04 12:43:53 +01:00
Laurent MONIN
7a443d0f73
html_input(): re-order type tests a bit.
2005-12-04 12:40:38 +01:00
Laurent MONIN
a5a731a77b
html_input(): increase indentation a bit to drop a goto/label.
2005-12-04 12:38:19 +01:00
Laurent MONIN
1223850567
html_input(): improve the test logic and simplify the code.
2005-12-04 12:35:55 +01:00
Laurent MONIN
e222bb733c
html_button(): improve the logic.
2005-12-04 12:27:22 +01:00
Laurent MONIN
2df9c06c46
Tidy up.
2005-12-04 12:24:39 +01:00
Laurent MONIN
d1f8b8061c
html_form(): prevent useless second test by using else if instead of if.
2005-12-04 12:21:43 +01:00
Laurent MONIN
37b1fcadea
distribute_table_widths(): simplify.
2005-12-01 11:39:39 +01:00
Laurent MONIN
978eff94ad
Move code from format_table() to new distribute_table_widths().
2005-12-01 11:37:08 +01:00
Laurent MONIN
ac01cbba30
draw_table_caption(): reduce indentation level.
2005-12-01 11:33:43 +01:00
Jonas Fonseca
b42c3f5bd2
Merge with git+ssh://pasky/srv/git/elinks.git
2005-11-30 01:28:34 +01:00
Laurent MONIN
40829d3e34
draw_frame_point(): use BORDER_* and enum border_char type, drop a TODO.
2005-11-29 11:21:35 +01:00
Laurent MONIN
c8b53a6c2b
Complete enum border_char using codes borrowed from TWIN project.
2005-11-29 11:20:10 +01:00
Miciah Dashiel Butler Masters
fee63d574a
Merge with git+ssh://pasky.or.cz/srv/git/elinks.git
2005-11-27 19:40:49 +00:00
Jonas Fonseca
3a9cba5695
Split the parser interface up into init, parser and done steps
...
The parser will eventually have to live across parses for incremental
renderering. Also the renderer and parser need to share the DOM stack.
2005-11-27 09:18:40 +01:00
Jonas Fonseca
83dca03a27
Remove indentation from option description
2005-11-27 07:29:36 +01:00
Jonas Fonseca
68404b5bf1
Remove some unused struct decls
2005-11-27 07:21:28 +01:00
Miciah Dashiel Butler Masters
d0eeab5b7e
Merge the special handling in start_element for tables into html_table.
2005-11-26 02:38:12 +00:00
Miciah Dashiel Butler Masters
947ddc4160
In html_table, rename parameter a to attr.
2005-11-26 02:15:00 +00:00
Miciah Dashiel Butler Masters
cf2fcaa84f
Shuffle code so that the do_html_select, do_html_select_multiple, and
...
html_select are together.
2005-11-26 01:50:46 +00:00
Miciah Dashiel Butler Masters
a781cf1894
Give do_html_select return type void instead of int.
2005-11-26 01:47:50 +00:00
Miciah Dashiel Butler Masters
321003a09e
Check for the multiple attribute in html_select rather than in
...
do_html_select.
2005-11-26 01:46:01 +00:00
Miciah Dashiel Butler Masters
c2445f09bd
Factor do_html_select_multiple out of html_select.
2005-11-26 01:43:10 +00:00
Miciah Dashiel Butler Masters
a6a67174af
Drop the html_textarea wrapper for do_html_textarea and rename
...
do_html_textarea to html_textarea.
2005-11-26 01:35:26 +00:00
Miciah Dashiel Butler Masters
a27284611c
Don't export do_html_select.
2005-11-26 01:32:10 +00:00
Miciah Dashiel Butler Masters
683c8722d2
Merge do_html_script into html_script.
2005-11-26 01:23:07 +00:00
Jonas Fonseca
bb588729ff
Silence various sparse warnings
...
... related to __INT_MAX__ and friends not being defined, and various
__builtin.. function declarations missing (they should probably be added
to sparse, but I am lazy).
2005-11-25 19:02:16 +01:00
Jonas Fonseca
48c113b114
Fix non-ANSI function declaration
2005-11-25 18:51:21 +01:00
Jonas Fonseca
2e18d752fc
Kill suspicious looking empty line
2005-11-25 13:31:07 +01:00
Laurent MONIN
3dd81f003e
Fix trailing whitespaces.
2005-11-25 09:38:32 +01:00
Laurent MONIN
50ffe0f2cd
html_select(): fix compilation bug to recent patch.
2005-11-25 09:32:43 +01:00
Miciah Dashiel Butler Masters
9062c83b51
Let html_select, html_textarea, and html_script call do_html_select,
...
do_html_textarea, and do_html_script directly instead of handling them
specially in start_element.
2005-11-25 01:22:55 +00:00
Miciah Dashiel Butler Masters
08c1cdf9d4
Add parameters unsigned char *html, unsigned char *eof, and unsigned
...
char **end to element_handler_T.
2005-11-25 00:30:13 +00:00
Jonas Fonseca
94e6b2def5
Revert DOM stack member renames and fix compile errors
2005-11-25 00:16:22 +01:00
Jonas Fonseca
60269a7466
One missing sparse warning fix
2005-11-24 21:57:35 +01:00
Witold Filipczyk
6afdbf608f
Fix frame-related crash on www.sts.pl (bug 723)
...
Earlier doc_view was freed in src/document/renderer.c line 455
and used later by load_additional_file.
2005-11-24 16:42:03 +01:00
Jonas Fonseca
5dffe2e8ac
Fix various sparse warnings
...
Mostly non-ANSI function declarations, using 0 as NULL and inline
function prototypes. Also removed unused S_HTTP_100 network state
enum type, which text message contained unknown escape sequence: '\?'.
2005-11-24 15:38:47 +01:00
Jonas Fonseca
2dd2e10a28
Remove unused ditrm declaration
2005-11-24 14:24:14 +01:00
Jonas Fonseca
7c0b6809b9
HTML_NODE_INFO -> HTML_, HTML_NODE_INF2 -> HTM2_
2005-11-24 13:32:04 +01:00
Witold Filipczyk
583649e807
Try to fix HTTP gzip decoding
...
Sometimes gzip decoding causes garbage on screen. With this patch garbage
will go away. It inverts the logic. Now is simpler.
2005-11-15 22:23:27 +01:00
Jonas Fonseca
b42b098fd4
Remove unused root member of struct dom_renderer
2005-11-15 12:11:48 +01:00
Jonas Fonseca
acf2ec806b
Remove empty lines in start of header files
...
A left over from the CVS Id removal. Also, for a few files, normalize the
order in which things are declared in headers.
2005-11-15 11:33:27 +01:00
Jonas Fonseca
41941c64d6
Improve the DOM stack structures comments
2005-11-15 11:21:01 +01:00
Jonas Fonseca
16481d7baa
Move DOM exception enum to separate file
...
... and remove it from the dom_stack struct.
2005-11-15 11:01:11 +01:00
Jonas Fonseca
bccfbf8647
Rename DOM navigator -> stack
...
This is really a much more appropriate word since it never ended up being
more than just a stack. The rename also changes the symbol names to use the
much shorter "stack".
2005-11-15 10:43:52 +01:00
Jonas Fonseca
a0fb29bcd5
Fix typo introduced in cdd3f5d9739d...
2005-11-15 10:20:48 +01:00
Miciah Dashiel Butler Masters
cdd3f5d973
Modify the logic for confirm_submit to flow better.
2005-11-14 09:02:08 +00:00
Miciah Dashiel Butler Masters
683d73d89d
Tighten scope for cached in ses_goto.
2005-11-14 08:53:03 +00:00
Miciah Dashiel Butler Masters
97ad0e0f21
Use ses_load in post_yes.
2005-11-14 08:51:09 +00:00
Miciah Dashiel Butler Masters
93d6d959a5
Factor new function ses_load out of ses_goto.
2005-11-14 08:46:17 +00:00
Miciah Dashiel Butler Masters
16c0afb56c
Drop a superfluous assignment to confirm_submit in ses_goto.
2005-11-14 08:27:55 +00:00
Miciah Dashiel Butler Masters
5d39d90909
Add some whitespace in bad_punct.
2005-11-11 06:17:50 +00:00
Laurent MONIN
f7bc7c3497
Tidy up.
2005-11-10 15:42:35 +01:00
Laurent MONIN
2beadb8f6b
html_focusable(): use mem_free_set().
2005-11-10 15:38:52 +01:00
Laurent MONIN
29577cad31
html_focusable(): use a local variable to shorten lines.
2005-11-10 15:35:57 +01:00
Laurent MONIN
24a8ff7294
Tidy up, drop a goto.
2005-11-10 10:39:42 +01:00
Laurent MONIN
39015488d3
Optimize type of script matching.
2005-11-02 16:54:24 +01:00
Laurent MONIN
53590ee002
Attempt to match a wider range of types regarding detection of
...
javascript. Only text/javascript type was matched.
2005-11-02 10:38:24 +01:00
Jonas Fonseca
ffcee4532d
Make the build id thing work for out of tree builds
2005-11-01 23:19:50 +01:00