summaryrefslogtreecommitdiff
path: root/dw
AgeCommit message (Collapse)Author
2024-06-02Remove undefined floatRef debug line in RTFLRodrigo Arias Mallo
Fixes: https://bugs.gentoo.org/933361
2024-05-03Disable "Layout::resizeIdle calls" messageRodrigo Arias Mallo
It is always shown, even when messages are turned of by "show_msg=NO", as the preferences are not available to dw. For now we disable it permanently by using the _MSG() macro. Reported-by: Kevin Koster <dillo@ombertech.com> See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/message/PPNR5FTO3YFDVAQCM4SDNVAF22JEV22W/
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-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-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-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.
2016-08-09Merged commit #4653 (float clearance).Jorge Arellano Cid
Test case: <body> <div id="a"> <div id="b" style="float:left">main</div> </div> <div id="c" style="clear:left"></div> <div id="d">footer</div> </body> Note: passes all the tests at http://www.dillo.org/test/4648/test-suite.v1.txt
2016-08-04Revert commit #4651Jorge Arellano Cid
Introduces regressions: .-------.--------.------.-----------.-----------------------.-----.-----. | | BTG | test | pravda.ru | 4ta.html | VT | PV | | | render | t.* | #1 | #2 | Girl | footb. | horos.| | | |-------|--------|------|-----------|-----------------------|-----|-----| |d4594 | ok | ok | x a | x b | x c | ok | x d | x i | x k | '-----------------------------------------------------------------------' Note: patch #4594 is the same as patch #4651. (we use d4594 to avoid side effects from other patches). Check this testsuite [1] for more details. [1] http://www.dillo.org/test/4648/test-suite.v1.txt
2016-08-04Revert commit #4652Jorge Arellano Cid
Introduces regressions: .-------.--------.------.-----------.-----------------------.-----.-----. | | BTG | test | pravda.ru | 4ta.html | VT | PV | | | render | t.* | #1 | #2 | Girl | footb. | horos.| | | |-------|--------|------|-----------|-----------------------|-----|-----| |d4652 | ok | ok | x a | x ic| ok | x l | x d | x n | ok | '-----------------------------------------------------------------------' Check this testsuite [1] for more details. [1] http://www.dillo.org/test/4648/test-suite.v1.txt
2016-08-04Revert commit #4653 (on hold)Jorge Arellano Cid
This patch is "on hold", as it depends on reverted code, and at least would need a non-automatic merge.
2016-07-24Remove obsolete method.Sebastian Geerken
2016-07-24Fix update problem related to CSS 'clear'.Sebastian Geerken
2016-07-17Fix Layout::viewportSizeChanged.Sebastian Geerken
2016-07-17Reverse commit 4647:8c6b1b79d329.Sebastian Geerken
2016-07-17Comment on Jorge's commit.Sebastian Geerken
2016-07-17RTFL.Sebastian Geerken
2016-07-16fix Layout::viewportSizeChanged.Jorge Arellano Cid
When changing viewport size, sometimes the resize wasn't propagated properly. e.g. pravda #2 in the results below. Here follows the test suite and its results: -------------------------------------------- Legend: d4646 = dillo version #4646 in Mercurial repository. x a = Test failed, with code a = Problems 1, 9 and 3. Custom test pages at: http://www.dillo.org/test/4648/ Results Table .-------.--------.------.-----------.-----------------------.-----.-----. | | BTG | test | pravda.ru | 4ta.html | VT | PV | | | render | t.* | #1 | #2 | Girl | footb. | horos.| | | |-------|--------|------|-----------|-----------------------|-----|-----| |d4648 | ok | ok | ok | ok | ok | ok | ok | ok | ok | |d4647 | ok | ok | ok | x g | ok | ok | ok | ok | ok | |d4646 | ok | ok | x a | x l | ok | x j | x d | x n | ok | |d4645 | ok | ok | x m | x l | ok | x j | x d | ok | ok | |d4644 | ok | ok | x a | x b | ok | x j | x d | ok | x k | |incr | ok | ok | x a | x b | x c | ok | x d | ok | x k | |d4587t2|~ x f | ok | ok | ok | ok | ok | ok | x i | | |d4587+ | ok | ok | ok | ok | ok | ok | ok | x i | x k | |d4587 | ok | x e | ok | ok | ok | ok | ok | x i | x k | |d4584 | ok | x h | ok | ok | ok | ok | ok | x i | x k | -----------------------------------------------------------------------| |ok7 | ok | ok | ok | x g | ok | ok | ok | | | |tmp8 | ok | x e | | | | | | | | |tmp9 | ok | ok | | | | | | | | |tmp9.1 | ok | ok | ok | x g | ok | ok | ok | | | '-----------------------------------'-----------------------------'-----' ___________________________________________________________ / a | b | c | d | e | f | g | h | i | j | k \ incr = d4594 | 1 9 3 | 1 9 4 | 9 | 1 5 | 6 | 7 | 4 | 12 | 13 | 8 9 | 10 | 47 = prune patch '------------------------------------------------------'----' 45 = idle patch | l: 13 | m: 4 2| n: 5 9 | 46 = words patch 48 = viewportchg Problems: 1: overwrites text with images. 2: crops images (aspect ratio). 3: different layout. 4: overwrites text with float. 5: overwrites text with text. 6: CPU HOG with: t2.n, t2.n.sm 7: Missing page sections (sometimes works for the same page). 8: Small images cut in two sometimes ("ESP", "CRO", ...) 9: Wrong aspect ratio for images (text line height) 10: Page drawn with offset (but browser thinks other section is on screen). 11: CPU HOG. 12: CPU HOG with: t1, t1n, t2.n, t2.n.sm, t3. 13: overwrites text and images with text and images. Goods: *: works for the whole t.* suite. Testing (all with background images disabled): BTG: 1.- Bck/Fwd several times (first at normal then maximized). 2.- resize from max to normal several times. pravda #1: 1. Load [1] at normal size, wait most images to load, check images and check them not to overlap text, go Bck/Fwd, check again. 2. Maximize window, check images don't overlap text, check the page layout to have three main columns (the upper part). Go Bck/Fwd, check again. pravda #2: 1. Load [1] at normal size, wait most images to load, then load [2], press page down, check the "print version" float doesn't overlap text, or images (they may stack), check the two images inside it have the same size and ratio, maximize, return to normal, check the float again. 4ta: 1. Run dillo, disable images, load 4ta.html, click Girl img, go Bck/Fwd, check img, exit dillo. 2. Run dillo, disable images, load 4ta.html, click football img, go Bck/Fwd, check img, exit dillo. 3. Run dillo, disable images, load 4ta.html, click tauro img, check horoscope text, go Bck/Fwd, check h. text, click aries img, check h. text, go Bck/Fwd, check h. text, exit dillo. 4. Run dillo, disable images, load 4ta.html, click football img, go Bck/Fwd, click dep.png img, check images, go Bck/Fwd, check images. VT: 1. Load [3] at normal size, wait for most images to load, go Bck/Fwd, check images and text not to override each other. PV: 1. Load [5] at normal size, wait for most images to load, search for "re-re" with Find Text, press page down (you'll see an image), go Bck/Fwd, check the image is there. If not, you can place the cursor where the image was, if you get a hand cursor, Dillo thinks it is there. Wait for the tooltip and drag it a bit downwards to the right, Dillo will repaint from the image data. [1] http://tinyurl.com/j2yavxk [2] http://tinyurl.com/gqso9eu [3] http://tinyurl.com/msyl7x [4] http://tinyurl.com/grd6yg4 [5] http://tinyurl.com/huvf6pn
2016-07-16Change OOFFloatsMgr::markSizeChange()Jorge Arellano Cid
We change to a graph coverage model, with pruning.
2016-07-16Optimize Textblock::updateReference.Jorge Arellano Cid
This helps to avoid unnecessary resize calls.
2016-07-16Fix Layout::resizeIdle()Jorge Arellano Cid
This was three year old bug, that went undiscovered (hg#2863). The patch is simpler than it looks, it's just a while cycle enclosing the body, indentation makes it look large. How to reproduce: 1. Load [5] at normal size, wait for most images to load, search for "re-re" with Find Text, press page down (you'll see an image), go Bck/Fwd, check the image is there. If not, you can place the cursor where the image was, if you get a hand cursor, Dillo thinks it is there. Wait for the tooltip and drag it a bit downwards to the right, Dillo will repaint from the image data. [5] http://tinyurl.com/huvf6pn
2016-07-13cppcheck: fix format stringJohannes Hofmann
2016-07-12cppcheck: AFAICS a false positive (should be reported to them)Jorge Arellano Cid
A simple code order changes, which is not relevant in this case, but pleases cppcheck: - for (a,b; ; ) + for (b,a; ; )
2016-07-10RTFL.Sebastian Geerken
2016-07-09Cleanup OOFFloatsMgr::collidesH().Sebastian Geerken
2016-06-26Fix possible memory leak (SizeParams::forChild => childParams).Sebastian Geerken
2016-06-26Fix memory leak (OOFFloatsMgr::Float).Sebastian Geerken
2016-06-26Fix another valgrind complain.Sebastian Geerken
2016-06-26Fix valgrind complain.Sebastian Geerken
2016-06-26Simplify again the signature of OOFAwareWidget:getGeneratorWidth(), with a ↵Sebastian Geerken
slightly more complex (but more correct) implementatin for Textblock.
2016-06-24typoJorge Arellano Cid
2016-06-20Incremental resizing for OOFFloatsMgr.Sebastian Geerken
2016-06-18Fix <button> size (treat as inline).Sebastian Geerken
2016-06-18Merge, undo Jorges change.Sebastian Geerken
2016-06-18Documentation and comments on Jorge's patch.Sebastian Geerken
2016-06-17Fix for updateReference() (missing content, overlapped text sometimes)Jorge Arellano Cid
This is a race condition. When loading [1], tables under the form date camp, may dissapear and some overlapping text be shown below. How to reproduce: load the site (network effect may be enough), or go back and forward a few times, or maximize then back and forward. [1] http://www.btgpactual.mdgms.com/www/chile/resume.html FWIW this is the only regression I've found so far.
2016-06-17Fix for CPU-hog bugs with deeply nested elements.Jorge Arellano Cid
This patch fixes a cpu-hog regression of GROWS2 with respect to dillo-3.0.5. The problem arises with some deeply nested elements. e.g.: (for i in $(seq 1 20); do echo '<div style="float:left"><div></div><div style="display:table"><span></div></div>'; done) > t0.html (for i in $(seq 1 20); do echo '<div style="float:left"><div></div><div style="display:table"></div>'; done) > t1.html For both, taking away the SPAN or float is much faster. Note: Some "unrelated" sited (i.e. not clearly hogging the CPU) have been measured to render near two times faster with the patch.
2016-06-17Optimize Textblock::updateReference().Jorge Arellano Cid
2016-06-17RTFL.Sebastian Geerken
2016-06-14Whitespace.Sebastian Geerken
2016-06-04Revert an accidental commit of testing code (2 patches in the queue).Jorge Arellano Cid
2016-06-04imported patch pos-adjustmentsJorge Arellano Cid
2016-06-04imported patch renamesJorge Arellano Cid
2016-05-29Comment.Sebastian Geerken
2016-05-29Fix position for sizeRequest in Textblock widget (simplification).Sebastian Geerken
2016-05-29Fix position for sizeRequest in Textblock widget (comments).Sebastian Geerken
2016-05-29Fix position for sizeRequest in Textblock widget (corrections).Sebastian Geerken