Age | Commit message (Collapse) | Author |
|
The Fl:api_version() method is not available on FLTK 1.3.3 and older, it
needs to use Fl::version() instead.
|
|
Makes disabling certain formats posible without the need to rebuild
Dillo from source.
See: https://github.com/dillo-browser/dillo/pull/312
|
|
|
|
|
|
See: https://www.toomanyatoms.com/software/mobilized_dillo.html
Authored-By: dogma
|
|
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.
|
|
|
|
|
|
|
|
Following https://datatracker.ietf.org/doc/html/rfc7230#section-5.3.1,
the path must not be empty, even if we have a query:
> If the target URI's path component is empty, the client MUST send "/"
> as the path within the origin-form of request-target.
Notice URIs can have empty paths, this is a restriction of HTTP only.
Fixes: https://github.com/dillo-browser/dillo/issues/302
|
|
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
|
|
Some images have the same background color as the page so they don't
have a visible border. Always adding a border on images with a link
breaks this property. Links continue to be discoverable by hovering with
the mouse.
Fixes: https://github.com/dillo-browser/dillo/issues/270
|
|
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
|
|
Assume the user will want to continue in the current page when opening
a page in a new tab.
|
|
Assume the user wants to quit Dillo by default even if there are
multiple tabs.
|
|
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
|
|
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.
|
|
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.
|
|
Makes it less likely that server implementations may break due to
unexpected boundary characters. It also allows us to avoid quotes
around the boundary.
|
|
Making the boundary string very unlikely to collide with the file to
upload allows Dillo to assume it would never be found and avoids the
expensive memmem() check.
Even if major implementations tend to add several '-' characters to
multipart/form-data boundaries, this is not enforced by RFC 2046, so it
can be increase to 70 random characters.
See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/VUB5PIOPJZ2VTCVGQPBZMGOYEISTXCFX/
|
|
When a 1px value is used for the border, any zoom level that makes it
smaller makes the resulting size 0, so it disappears. Using round
instead leaves more room for zooming out before it disappears.
Fixes: https://github.com/dillo-browser/dillo/issues/240
|
|
Long CSS stylesheets may fill the console output hiding important
messages. For now let's disable them, until we improve the mechanism to
select which messages should be enabled at runtime.
|
|
Reviewed-by: dogma
Tested-by: Alex (on OpenBSD)
|
|
Reviewed-by: dogma
|
|
The strdup function is not available in POSIX-2001, so we use our own
implementation in dlib: dStrdup.
Reviewed-by: dogma
|
|
Instead use inet_addr("127.0.0.1") which is POSIX 2001 and also more
clear.
Reviewed-by: dogma
|
|
Reviewed-by: dogma
|
|
Reviewed-by: dogma
|
|
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.
|
|
|
|
Until we have a way to enable or disable messages, we shouldn't pollute
the output log. These may as well be better suited for a bug-like
window.
|
|
These are used by Wolfram equations, example:
https://mathworld.wolfram.com/images/equations/FourierTransform/Inline7.svg
https://mathworld.wolfram.com/FourierTransform.html
|
|
|
|
Allows Dillo to render Wikipedia math equations.
|
|
Uses the nanosvg library to add SVG support.
See: https://www.toomanyatoms.com/software/mobilized_dillo.html
Authored-By: dogma
|
|
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
|
|
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
|
|
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 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
|
|
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
|