aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-03-28Add Windows CI buildRodrigo Arias Mallo
2024-03-24Use dStrconcat() to concatenate stringsRodrigo Arias Mallo
Reported-by: dogma
2024-03-24Use dGethomedir() to get the home directoryRodrigo Arias Mallo
Other platforms don't use $HOME. Reported-by: dogma
2024-03-23Free auxiliary string in File_normalize_path()Rodrigo Arias Mallo
Fixes: https://github.com/dillo-browser/dillo/issues/87 Reported-by: dogma
2024-03-23Set forceValue when correcting a requisitionRodrigo Arias Mallo
For cases where the parent widget has the width set to auto we need to go to the above parent to compute the available width. This is required to make tables with a width of 100% occupy the whole available width of the parent. In particular, fixes render/table-max-width.html test, which was relying on a {-1,-1,-1} requisition to have a value different than -1 in the width to consider that the CSS width is effective.
2024-03-23HTML test hackernews.html is now fixedRodrigo Arias Mallo
2024-03-23Revert "Constraint width with min-width or max-width"Rodrigo Arias Mallo
This reverts commit 24bcd67df29a5418d05600b038a9283a00e555d2. Fixes: https://github.com/dillo-browser/dillo/issues/99
2024-03-17Clamp width to min/max in getAvailWidthOfChild()Rodrigo Arias Mallo
When the width is set to auto, a different branch is used to compute the width via getAvailWidth(true). The returned witdh needs to be clamped to be in the min/max-width CSS range if given, as otherwise it won't be corrected. Fixes: https://github.com/dillo-browser/dillo/issues/89
2024-03-17Prefer CSS max-width when width is set to auto.Rodrigo Arias Mallo
When a widget has width to auto and the initial finalWidth is -1, set it by default to the max-width CSS value so it expands to the maximum available size.
2024-03-17Add min-width-div-extend HTML render testRodrigo Arias Mallo
2024-03-17Add clamped max-width testRodrigo Arias Mallo
The max-width size of the widget is larger than the viewport, so it should be clamped by it.
2024-03-17Add table-max-width render testRodrigo Arias Mallo
2024-03-17Add Hacker News table testRodrigo Arias Mallo
2024-03-17Add div-100-percent-with-padding testRodrigo Arias Mallo
2024-03-09Update ChangeLogRodrigo Arias Mallo
2024-03-09Use Doxygen Awesome themeRodrigo Arias Mallo
2024-03-09Use Doxygen comments for C filesRodrigo Arias Mallo
2024-03-09Build C documentation too with DoxygenRodrigo Arias Mallo
2024-03-03Use memset() instead of bzero()Rodrigo Arias Mallo
The bzero() function is removed in POSIX.1-2008. Fixes: https://github.com/dillo-browser/dillo/issues/91
2024-03-02Ignore percent width td attributes in tablesRodrigo Arias Mallo
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.
2024-03-02Add another td width render test with an imageRodrigo Arias Mallo
2024-03-02Add table-td-width-percent testRodrigo Arias Mallo
2024-02-18Expand tilde to home directory in local URLsRodrigo Arias Mallo
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
2024-02-18Don't call SSL_shutdown on fatal SSL errorsRodrigo Arias Mallo
2024-02-18Handle errors in SSL_read() and SSL_write()Rodrigo Arias Mallo
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
2024-02-06Simplify about:splash pageRodrigo Arias Mallo
As this is the page that new users will see for the first time, we want to show them a very simple introduction so they can reach the full help when they need it.
2024-02-04Add span padding HTML render testRodrigo Arias Mallo
2024-02-01Add margin auto HTML render testRodrigo Arias Mallo
2024-01-22Update ChangeLogRodrigo Arias Mallo
2024-01-22Add scroll_switches_tabs optionRodrigo Arias Mallo
By default, scrolling the mouse wheel over the tabs will switch among tabs. The option allows users to disable the feature.
2024-01-16Use right button to close tabs by defaultRodrigo Arias Mallo
2024-01-16Switch tabs using the mouse wheelRodrigo Arias Mallo
Allows switching tabs using the mouse wheel, which is useful to quickly scan pages by looking at the page content instead of the tab title.
2024-01-15Add ui_tab_height optionRodrigo Arias Mallo
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.
2024-01-15Prevent nested calls to Tls_connect()Rodrigo Arias Mallo
They may accidentally happen if a fd callback is still attached to the connection socket while we wait in a FTLK dialog, causing another call to Tls_connect() which will end up in an infinite loop.
2024-01-15Remove fd watch while perforing TLS checkRodrigo Arias Mallo
Avoids calling the callback while the TLS dialog is opened, which was causing and infinite loop of recursive calls to Tls_connect(). Fixes: https://github.com/dillo-browser/dillo/issues/49
2024-01-14Report TLS errors if any before abortingRodrigo Arias Mallo
Instead of just assert that there are no previous TLS errors, print the error queue and then abort. It prevents the error queue to be emptied before having a chance to see what error was stored.
2024-01-13Fix early fd closeRodrigo Arias Mallo
More data will be written in the SSL_Shutdown() of TLS connections, which causes errors if the file descriptor is closed. In particular, LibreSSL will trigger an assert. Fixes: https://github.com/dillo-browser/dillo/issues/51
2024-01-11Replace dReturn_val_if_fail() by a simple if()Rodrigo Arias Mallo
The macro hides a return path and makes it more difficult to read the condition as it is negated.
2024-01-11Report OpenSSL and mbedTLS versionsRodrigo Arias Mallo
2024-01-09Update references to website and repositoryRodrigo Arias Mallo
The website is now at https://dillo-browser.github.io/ and the repository at https://github.com/dillo-browser/dillo.
2024-01-08Add min/max width html tests to XFAILRodrigo Arias Mallo
For now they are ignored, so the body will extend to the viewport.
2024-01-08Don't run other CI jobs if HTML tests failRodrigo Arias Mallo
Prevents wasting resources when failed HTML tests are found.
2024-01-08Add min-width and max-width CSS testsRodrigo Arias Mallo
2024-01-08Update ChangeLog for max-width fixRodrigo Arias Mallo
2024-01-08Constraint width in calcFinalWitdh()Rodrigo Arias Mallo
Then min-width or max-width is given in the CSS style for the current widget, the returned width should be clamped by those values. The condition *finalValue != 1 was used to clamp with min-width, but it doesn't capture the situation when the finalValue was not yet set. Similarly, for the max-width, the finalWidth was only set when *finalValue == -1, which prevented the clamping when the width is set. The change always perform the clamp when finalWidth is not set or when the value exceeds the min or max value. When both min-width and max-width are given but width is -1, the resulting width is the min-witdh, as the max-width clamp rule won't trigger after setting the *finalValue to the min-witdh.
2023-12-31Constraint width with min-width or max-widthRodrigo Arias Mallo
When a widget has a parent, the calcFinalWidth() method was not being called to compute the limits of min-width or max-width given by CSS rules. The change makes the call to calcFinalWidth in all cases.
2023-12-30Fix bogus comparison of oofContainer[i]Rodrigo Arias Mallo
The same index was being used in both sides of the comparison.
2023-12-30Add automatic rendering testsRodrigo Arias Mallo
These tests render a HTML page in Dillo and save a screenshot which is compared with another one rendered by a reference HTML file which doesn't make use of the feature under test. Running these tests require some additional dependencies to run a Xorg server and capture screenshots of the browser, so they are only enabled when configured with the --enable-html-tests option. Additionally, running Dillo and opening local files requires a working file dpi plugin. So, when running the HTML tests it is required that a working dpid server can be launched by Dillo. To do so, Dillo can be first installed to a prefix directory, the dpidrc file copied to ~/.dillo/ and then the DILLOBIN variable set to the path of the dillo binary under test.
2023-12-30Fix indentation typo in src/Makefile.amRodrigo Arias Mallo
2023-12-30Extend install instructions for BSD systemsRodrigo Arias Mallo
We no longer include /usr/local/include by default, it must be specified to the configure script.