Age | Commit message (Collapse) | Author |
|
The Tags array can be modified without changing the "ntags" number in
the CSS side. To prevent errors, an static assert ensures the same
number is used in both sides, which is known at compilation time.
Fixes: https://github.com/dillo-browser/dillo/issues/184
|
|
Fixes: https://github.com/dillo-browser/dillo/issues/109
|
|
|
|
|
|
|
|
|
|
Avoid closing the <A> element until HTML5 rules are in place for the parser.
|
|
No longer necessary after the redesign of the parser's cleanup
process for tag nesting.
|
|
This needed moving around some functions, nothing else.
FWIW, we had it declared extern because that's C++ way to declare a forward
variable, the side effect of it being extern linkage.
|
|
* Forbidden nesting now is handled by cleanup_at_open.
(it previously used an ad-hoc function hooked into the process)
Much safer and versatile now. [1],[2],[4]
* Heuristical cleanup at close is no longer used.
cleanup_at_close is now based on block/inline element/container semantics,
and also cosiders special nesting rules expressed in the DTD for HTML-4.01.
Note: this design is easy to tailor for HTML5. [2]
* Bug reporting changed and is now is more centralized in cleanup_to_idx.
* The bug meter gives more accurate and concise messages. [4]
* Page rendering improved as now the cleanup process strives to produce
a correct tree out of Tag Soup, before feeding it to Dw. [4]
* Better handling/recovery from Tag Soup (even in the worst cases). [5]
* The w3c_plus_heuristics=FALSE mode was removed (not necessary anymore)
* Elements with optional close also follow Firefox de facto rules.
* Special case logic is now isolated in helper functions.
A few examples:
[1] http://dillo.org/test/cross-nesting-simple.html
[2] http://slashdot.org/
[3] http://apod.nasa.gov/apod/ap160604.html
[4] http://www.mypetchicken.com:80/catalog/Day-Old-Baby-Chicks/Olive-Eggers-p1478.aspx
[5] http://dillo.org/test/sd3.html
|
|
It was redundant with the "inline element" flag. i.e.
"block element" = ~"inline element"
|
|
|
|
|
|
This is the cleanup at open time (the other patch is the cleanup
at close time); they catch different problems.
e.g. <a href="1.html">Word1 <a href="2.html">Word2</a>
Fixes http://apod.nasa.gov/apod/ap160604.html
|
|
|
|
This avoids false-positive nesting messages from the bug meter.
|
|
A lingering open A element can lead to invisible content.
e.g. http://slashdot.org/
Note: slashdot_a_bug.html testcase in my HD.
|
|
BODY and HTML have optional open and close, making them tricky to handle.
Even more when considering Tag soup pages with multiple body or html
sections, and corner cases.
This patch tackles the problems by leaving the first HTML and BODY
stack elements open, until EOF.
There's also better html-bug detection and messages, and more accurate
comments in the code.
Beware: it may look simple, but it's not!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Not heading/sectioning ones, but P is legal, for example.
|
|
Followed a link to instructables.com and found that they use one of these.
I'm a little surprised to see one of these strings around.
A minute of research shows: Apparently it generally has something to do
with xslt restrictions.
|
|
https://github.com/torvalds/linux/pull/17 has a five-megabyte title
attribute, which is just a bit excessive. Since it has tons of < and
>, dillo couldn't cope with it. Over five minutes to parse as much
of it as it got before the connection broke. With this change, it's
about fifty seconds (on this old computer) to get/show the full 24 megs,
which is an improvement, at least.
|
|
|
|
|
|
|
|
quiet about it.
|
|
|
|
|
|
widespread, so let's not complain
|
|
At least by default when that stuff's all block display, it's unnecessary
and it restarts whatever background image the parent has. _That's_ why
one part of arstechnica.com has been hard to read forever.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|