Age | Commit message (Collapse) | Author |
|
Send the user agent to the downloads DPI so we can use the same as
Dillo uses from the http_user_agent option.
See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/A6IHJ4TBGHJ3CT2UOMEAROSG2WRTRO6U/
|
|
The returned value from Fl::version() is a floating point number like
1.0303, not 10303, so we correct it to follow Fl::api_version().
|
|
When git is available, records the git commit in the dillo binary, so
dillo -v reports the version and the commit. Otherwise only the release
version is reported (as we do now).
The commit is *always* recomputed when "make" is called. This allows
switching branches, doing a dirty rebuild and still get the correct
commit with "dillo -v".
Using AC_INIT() doesn't update the commit when the source is already
configured.
Fixes: https://github.com/dillo-browser/dillo/issues/288
|
|
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
|
|
Limit the push events to the master branch, otherwise they will be
running twice on every feature branch and PR.
|
|
Homebrew has updated the default version of FLTK to 1.4, which is
causing rendering issues in Dillo. So for now, we build with FLTK 1.3 by
pinning it.
See: https://github.com/Homebrew/homebrew-core/pull/198029
See: https://github.com/dillo-browser/dillo/issues/246
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
There are several problems that need to be resolved before we can switch
to FLTK 1.4. The support is intentionally disabled until it is ready.
See: https://github.com/dillo-browser/dillo/issues/246
|
|
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
|
|
To prevent the page from triggering the emergency stop at
resizeIdle(), we reset the resize counter when the viewport is resized.
Fixes: https://github.com/dillo-browser/dillo/issues/300
|
|
Buttons also have their own Layout, which will try to resize every time
the window has changed. We are only interested in the top-level layout,
as is the one that has a problem on some pages.
|
|
This suppresses a warning on more modern systems while preserving
the ability of older systems and CI/CD to run the test suite.
> WARNING: The convert command is deprecated in IMv7, \
> use "magick" instead of "convert" or "magick convert"
Signed-off-by: Matt Jolly <kangie@gentoo.org>
|
|
|
|
|
|
|
|
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
|
|
The requisition box includes the margin, padding and border. To compute
the aspect ratio of the image we need to remove them to get the content
box. Once the adjustment is done, we add the borders again.
|
|
|
|
|
|
The aspect ratio is now preserved by Widget::correctRequisition(), so we
don't need to do more steps after the call.
|
|
|
|
When CSS min-{width,height} > max-{width,height} set the
max-{width,heigh} to the maximum value min-{width,height}.
|
|
Images should preserve their own aspect ratio, which is determined by
the image buffer size, also known as the intrinsic size. Currently, when
a child requests a requisition to be corrected by correctRequisition(),
only the size was adjusted, ignoring the aspect ratio.
The new Widget ratio variable holds the desired aspect ratio for the
widget, and will only be taken into account when non-zero. In that case,
then correcting the requisition, a naive algorithm tries to first
increase the length of the small size to fill the preferred aspect
ratio. In the case that it is not enough, the larger size is then
decreased to fit the aspect ratio. And if that doesn't work either, the
aspect ratio is not enforced and the widget will be distorted.
There are special cases for correctRequisition() depending if the parent
exists or not. The same approach is taken for both cases, but using the
viewport size instead of the parent size.
|
|
For cases where the available height is being computed and the CSS
style has the height to auto, there available height is infinite. Don't
return the viewport unless forceValue is set.
|
|
|
|
|
|
When a widget calls the parent to correct its own requisition, let the
child widget perform adjustments on the requisition. This allows images
to control the height when the parent changes the width, so the image
can preserve its own aspect ratio.
|
|
|
|
|
|
When correcting a requisition, percent values were not being computed
which prevents the min-height or max-height values to be taken into
account.
|
|
When the initial width is -1, the contrainsts of min-width and max-width
are not applied. If we set the viewport width after calcFinalWidth() it
may exceed max-width. It is guaranteed to return a value different from
-1 when the initial width is positive.
|
|
Prevents reducing the available width of a body with width:auto and
min-width:100px to 100px.
The Widget::calcFinalWidth() method is also heavily documented, so we
can understand precisely what it does.
|
|
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.
|
|
Prevents errors by one pixel
|
|
Tests several combinations of size contraints on images so we can check
if the aspect ratio is kept or not.
|
|
Fixes: https://github.com/dillo-browser/dillo/issues/281
See: https://bugs.gentoo.org/939137
|
|
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.
|