Age | Commit message (Collapse) | Author |
|
Line numbers can be referenced using the fragment L + line number. For
example, file://foo/bar.txt#L42 will cause Dillo to scroll to line 42.
Fixes: https://github.com/dillo-browser/dillo/issues/330
|
|
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
|
|
Makes disabling certain formats posible without the need to rebuild
Dillo from source.
See: https://github.com/dillo-browser/dillo/pull/312
|
|
|
|
When reporting the version of Dillo with -v, print also the version of
the libraries it is currently using, as well as the features that were
enabled at build time. Notice the versions are reported by reading them
at runtime, so we can detect the version loaded at run time, regardless
of which version was used at link time.
All features are always printed, but prefixes with + if enabled or - if
disabled. This allows checking if the feature was disabled at configure
time or if it is missing in that version of Dillo.
|
|
Reloads the current page on all windows when the SIGUSR1 is received.
This is useful to update the page when it is being edited.
Fixes: https://github.com/dillo-browser/dillo/issues/255
|
|
When posible, change the image size so the aspect ratio is always
preserved. This is only posible when one or both dimensions have some
room to play. When both dimensions are not fixed, a naive algorithm
tries to satisfy all {min,max}-{width,height} and aspect ratio
constraints, but it may fail. In that case, the aspect ratio is not
preserved.
Fixes the HTML tests img-aspect-ratio and img-max-bounds.
|
|
When performing a HTTPS request over a HTTP proxy, a direct connection
is made to the remote server, so the GET line will be received as is.
Therefore we shouldn't send the full URL but just the path.
Fixes: https://github.com/dillo-browser/dillo/issues/279
|
|
|
|
Introduces the new option scroll_page_overlap to control the amount of
pixels of overlap when scrolling to the next or previous page.
Previously this value was taken from scroll_step, but now they are
controlled independently.
Fixes: https://github.com/dillo-browser/dillo/issues/276
|
|
The scroll page mode changes the behavior of the mouse when clicking on
the vertical scrollbar. When enabled with scrollbar_page_mode=YES,
clicking with the left button anywhere on the vertical scrollbar will
cause the page to scroll down one page. With the right button, to scroll
up one page. Holding Shift temporarily reverts the value of the option.
|
|
Implements support for placing the vertical scrollbar on the left side
by setting scrollbar_on_left=YES on dillorc. By default, continues to be
on the right side.
See: https://www.toomanyatoms.com/software/mobilized_dillo.html
Authored-By: dogma
|
|
Implements support for ch, rem, vw, vh, vmin and vmax units of CSS
lengths. For now the units relative to the viewport are only computed
once, and they won't change when the window is resized, but only when
the page is reloaded.
See: https://www.toomanyatoms.com/software/mobilized_dillo.html
Authored-By: dogma
|
|
When a error causes the TLS connection to fail and stop, the conn struct
is free on Tls_close_by_key(), so writing to conn->in_connect is not
correct after that point. The solution is to only set the flag when the
it is still valid.
Reported-by: Alex <a1ex@dismail.de>
Link: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/TY2JYCIPC7IQ32U6VC7ZOV3FVFFOE5K3/
|
|
Instead of rejecting random characters that are not in the boundary
character set, draw a random index and select the character at that
position. The probability distribution is not perfectly uniform with
this method, but reduces the number of calls to rand() by 4 times on
average.
|
|
Prevents Dillo from hoarding the CPU due to an infinite loop in the
layouting. We also return the control to FLTK to update the screen and
process events each 100 iterations, to keep the window responsive.
It doesn't fix the root cause of the github-infinite-loop test, but it
does allow the rendering to finish with no differences with the
reference test.
|
|
Also add missing hyphens on previous entries.
|
|
|
|
They allow linking to an specific line in the source code. This would be
useful to add to the bug meter view, so the user can quickly jump to the
error line in the HTML source.
Fixes: https://github.com/dillo-browser/dillo/issues/214
|
|
Some website endpoints return information in JSON, which is helpful to
be read as plain text in some situations. The content can still be
downloaded to disk using the save button or the context menu.
An example is the following endpoint https://tls.browserleaks.com/tls,
which provides TLS fingerprinting information in JSON, which will change
when reloading the page (only when Dillo is linked with LibreSSL).
The original page https://tls.browserleaks.com/ uses JS and cannot be
used in Dillo.
See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/message/6C5K4F6NBRUDSPNPWTXLQXCK3U3SI7DM/
|
|
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
|
|
The destructor was using a harcoded index to the elements to free from
the original array of arguments used to call the wget program. When the
user agent was introduced, the index of the elements that require free()
shifted, causing the free() call to operate on the constant string of
the user agent instead.
Rather than relying on the hardcoded index, two new pointers hold the
values of the strings that need to be free()'d in the destructor.
Further additions in the argument array won't cause more problems.
Reported-by: pastebin <pastebin@gmx.com>
Fixes: https://github.com/dillo-browser/dillo/issues/196
See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/message/IPWQYKTYTO5G2BH3UU5224FRUFWCVGSO/
|
|
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.
|
|
Adds support to load a custom page when a new tab is opened. The current
behavior is set as the default, load a blank page. The location bar is
only selected when the new tab page is the blank page, otherwise the
page loaded gets the focus.
Co-authored-by: Alex <a1ex@dismail.de>
Fixes: https://github.com/dillo-browser/dillo/issues/124
|
|
|
|
The libpng library may emit warnings when decoding a PNG image, which
are non-fatal. So far we were handling them as errors and stopping the
decoding process, which prevents Dillo from decoding some images. In
particular, images that emit the warning:
> iCCP: known incorrect sRGB profile
Fixes: https://github.com/dillo-browser/dillo/issues/179
Authored-by: dogma
|
|
It may be returned when the server closes the connection, see:
https://www.openssl.org/docs/manmaster/man3/SSL_get_error.html
We simply handle it as if there was no error and return zero bytes read.
Fixes: https://github.com/dillo-browser/dillo/issues/175
|
|
|
|
Cygwin doesn't seem to support detached threads used by the threaded DNS
resolver at the same time the dynamic OpenSSL library is used. As a
workaround we suggest disabling the threaded DNS (will use the same
thread) if building with OpenSSL on Cygwin.
Fixes: https://github.com/dillo-browser/dillo/issues/172
|
|
In Mbed TLS 3.6.0 there is support for TLSv1.3 but it requires
special handling, so for now we disable it.
See: https://gitlab.alpinelinux.org/alpine/aports/-/commit/4dc36afaa81a4d73758b29fa77981d07dbae0080.patch
Fixes: https://github.com/dillo-browser/dillo/issues/158
|
|
Fixes: https://github.com/dillo-browser/dillo/issues/160
|
|
|
|
Implement an option to force all http urls to be upgraded to HTTPS,
similar to HTTPS-Only Mode in Firefox.
A http_force_https preference variable is provided as well as a menu
bar item to toggle this mode.
See: https://support.mozilla.org/en-US/kb/https-only-prefs
|
|
Partially reverts commit f5a0b6030c2001e5a0fcacf8139afa800643eb47.
Fixes the rendering test table-missing-width-in-one-column.
Fixes: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/message/H7JEBC2HYNJ6FUPQM7ILBP7I5FLU33IZ/
|
|
Fixes: https://github.com/dillo-browser/dillo/issues/136
|
|
Fixes: https://github.com/dillo-browser/dillo/issues/141
|
|
The file plugin was not able to detect XHTML documents from files with
the .xhtml extension if there are comments before the doctype line.
Before falling back to reading the content, we directly specify the
media type to HTML based on the extension alone.
The basic content type detection algorithm is too simple and will
continue to fail when comments are placed before the doctype line.
Reported-by: Kevin Koster <dillo@ombertech.com>
See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/message/HBKXGO7EGCHWOQ6BM55A4LZQKT437UID/
|
|
A lot of sections were updated and extended to cover the usage of the
browser from the perspective of a new user. Other missing content was
added, specially to describe the configuration files and the format they
use.
Fixes: https://github.com/dillo-browser/dillo/issues/73
|
|
|
|
The W3C validator is now protected under a CloudFlare JavaScript
challenge. However, it can be bypassed by opening directly the link
after the redirection. It doesn't work if an HTML 5 page is loaded, as
that would redirect to the Nu validator which will attempt to run the
challenge again.
So the current solution is to use the "legacy" W3C validator for HTML
4.01 or older documents and the W3C Nu validator for HTML 5 documents
only. Users would need to choose which one to use manually (at least for
now).
The WDG validator at https://www.htmlhelp.org/tools/validator/ is gone,
the server reports "Server unable to read htaccess file, denying access
to be safe", so it has been removed.
Fixes: https://github.com/dillo-browser/dillo/issues/113
|
|
Fixes: https://github.com/dillo-browser/dillo/issues/109
|
|
On Cygwin the binaries have the ".exe" extension, so the logic to detect
dpi files has to take it into account when scanning the dpi_dir. The
extension DPI_EXT is defined to ".dpi" or ".dpi.exe" depending on the
platform extension discovered by autoconf.
Similarly, the dpidrc configuration file is also configured to match the
name of the DPI binaries.
See: https://github.com/cygwinports-extras/dillo/blob/master/3.0.2-exeext.patch
Fixes: https://github.com/dillo-browser/dillo/issues/105
|
|
|
|
The width attribute in tr and td tags is deprecated in HTML 4.01 and
obsolete in HTML 5. However, we should still support it when loading the
page in the transitional mode.
Currently, the relative values of the width attribute are transformed
into CSS values. They cause the available text width to be computed by
applying the relative value to the cell width, which causes an
unintended effect.
The workaround for now is to simply ignore the value when it is
specified as a percent.
|
|
Allows paths like "file:~/" and "file:~/.dillo/dillorc" to be opened by
Dillo by expanding the tilde character '~' to the value of the $HOME
environment variable.
Fixes: https://github.com/dillo-browser/dillo/issues/81
|
|
We cannot rely on the return value and the errno, the function
SSL_get_error() must be used to determine what happen and if we need to
retry again. A wrapper function translates the SSL error into a proper
errno value.
In the case a premature EOF is sent by the server, the error queue is
emptied before the error is returned.
Fixes: https://github.com/dillo-browser/dillo/issues/79
|
|
|
|
The default tab height of 16 pixels was causing some usability issues as
the tabs are quite small in large monitors. The default size is
increased to 20 pixels and the new option "ui_tab_height" allows the
user to specify a different value.
|
|
The website is now at https://dillo-browser.github.io/ and the
repository at https://github.com/dillo-browser/dillo.
|