Age | Commit message (Collapse) | Author |
|
Small laptops and netbooks that lack a proper 3 button touchpad make it
difficult to open a new tab. Using the control modifier makes is easier
to open links in new tabs. It also allows mixing it with the shift
modifier to control the focus.
|
|
See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L3FFAINJJMIOZQNID5HC2DHKJIIIHEYH/
|
|
Allows the user to define additional entries in the link menu which will
execute the given program/script. Each actions is defined using the
"link_action" option. The link URL is stored in the $url enviroment
variable and the current page in $origin, so the user can customize how
do the handling.
Here is a simple example to add three new entries:
link_action="Debug variables:echo url=$url origin=$origin"
link_action="Open in MPV:mpv $url"
link_action="Open in Firefox:firefox $url"
The command is spawned in a forked process using the system() call,
which uses the shell to expand any variable. In particular, the $url
variable is set to the current URL being opened.
Fixes: https://github.com/dillo-browser/dillo/issues/3
|
|
The int type doesn't have a fixed size, and is only guarantee to hold 16
bits. The current implementation assumes a size of at least 32 bits, an
uses three bits to encode the type of information stored in the rest.
To add more types of lengths we would need to take more bits from the
value itself.
A simpler approach is just to use a enumeration to take care of the type
of length and a union to encapsulate the different lengths values.
|
|
When previous TD, TH or TR tags were left open, close them when a TBODY
tag is found.
|
|
Reviewed-by: dogma
Tested-by: Alex (on OpenBSD)
|
|
Reviewed-by: dogma
|
|
The currentColor special value for the fill and stroke attributes allows
an image to follow the same foreground color of the surounding text.
|
|
The content="0" attribute was wrongly parsed as the URL "0". The change
makes the parser ignore a redirect with a content value that doesn't
have ";" or "url=" after the delay number.
Fixes: https://github.com/dillo-browser/dillo/issues/204
|
|
Allows zooming in and out of pages by changing the size of all elements,
including font size, images and tables. The initial zoom is specified in
the "zoom_factor" option of dillorc.
Use the new shortcuts Ctrl+ and Ctrl- to adjust the zoom of the current
page and Ctrl 0 to reset it to 100%. When a new tab or window is opened,
the current zoom factor is inherited. Each tab retains its own zoom
factor.
Fixes: https://github.com/dillo-browser/dillo/issues/21
|
|
Standards below C++11 don't support it, so we simply disable the static
assert. It is only required to be enabled in the CI in one build.
Reported-by: dogma
|
|
When a page has an empty title like <title></title>, don't use it to set
the tab label, but instead rely on the default tab label, which is
computed from the file name.
|
|
They are used for href="" in links or action="" in forms.
Fixes: https://github.com/dillo-browser/dillo/issues/190
|
|
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
|