Age | Commit message (Collapse) | Author |
|
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.
|
|
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
|
|
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.
|
|
The strdup function is not available in POSIX-2001, so we use our own
implementation in dlib: dStrdup.
Reviewed-by: dogma
|
|
Reviewed-by: dogma
|
|
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/
|
|
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
|
|
|
|
|
|
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
|
|
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
|
|
Now there's a single fl_scroll() call for each scroll operation,
instead of calling fl_scroll() and then draw().
The patch also fixes support for FL_DAMAGE_EXPOSE in FltkViewport::draw().
Test data:
FL_DAMAGE_CHILD = 0x01, 1
FL_DAMAGE_EXPOSE = 0x02, 2
FL_DAMAGE_SCROLL = 0x04, 4
FL_DAMAGE_OVERLAY = 0x08, 8
FL_DAMAGE_USER1 = 0x10, 16
FL_DAMAGE_USER2 = 0x20, 32
FL_DAMAGE_ALL = 0x80 128
-----------------------------------------------------------------------------.
| scroll: keys | focus click | Alt-Tab | unfocus|
| or mousewheel | viewport | statusbar | unfocus | focus | click |
-----------------------------------------------------------------------------|
d4235 | 5,5 | 16 | | 128 |128,128,128| |
d4529 | 5,5 | 16 | | 128 |128,128,128| |
dpatch | 5 | 16 | | 128 |128,128,128| |
-----------------------------------------------------------------------------'
</pre>
The first column means dillo version (hg rev). The second one
the FLTK damage bits received by FltkViewport::draw() per scroll
operation (also viewable at dillo's stdout).
The other columns show excessive calls, but that's another bug
that is not as relevant as scrolling now, so feel free to ignore
them by now.
|
|
sequential) queueResize.
|
|
correctly implemented.)
|
|
|
|
|
|
|
|
|
|
(Still bugs\!)
|
|
|
|
|
|
|
|
|
|
|
|
...now that floats and grows are in the repo and I won't be making
Sebastian's life difficult with a bunch of whitespace changes.
|
|
not resizing (because sizeRequest has been called within another context). Also some new RTFL messages.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
instead of "canvasSizeChange"; this seems to fix a CPU hogging problem.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Using (i), float size changes are handled correctly.
|
|
|
|
|
|
|