Age | Commit message (Collapse) | Author |
|
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.
|
|
When the horizontal scrollbar is visible the viewport size is reduced,
so the page overlap should be computed from the visible viewport only.
The change ensures the overlap has the same lenght, regardless of the
visibility state of the scrollbars.
|
|
When scroll page mode is active, clicking on the up and down scrollbar
buttons make the page jump to the top and bottom repectively.
|
|
When the page scroll mode is enabled, pressing and holding the scrollbar
will keep scrolling pages on that direction until the mouse button is
released.
|
|
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
|
|
When using the scroll wheel over a page, holding Shift will cause full
pages to be scrolled instead of scroll steps. The same effect can be
achieved by scrolling over the vertical scrollbar.
|
|
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
|
|
Stops the configure process if the C++ compiler doesn't work, otherwise
it will fail at build time.
Fixes: https://github.com/dillo-browser/dillo/issues/187
|
|
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.
|
|
|
|
If not given, it will cause any search attempt to go to a redirect page,
which forces the user to click a small link to go to another search with
the gbv=1 param set (along with other tracking parameters). Providing it
from the start avoids the hassle.
|
|
Use HTTPS by default, as Google won't redirect to HTTPS on its own.
|
|
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
|
|
Using $< in a non-suffix rule context is a GNUmake idiom
Reported-by: Alex <a1ex@dismail.de>
|
|
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.
|
|
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.
|
|
|
|
While we still require C++11 for the macros, there is no need to add
another dependency for this case.
Reported-by: dogma
|
|
Also add missing hyphens on previous entries.
|
|
|
|
Reviewed-by: dogma
Tested-by: Alex (on OpenBSD)
|
|
Reviewed-by: dogma
|
|
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
|
|
Reviewed-by: dogma
|
|
Reviewed-by: dogma
|
|
Reviewed-by: dogma
|
|
It is used by nanosvg library
Reviewed-by: dogma
|