| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
* remove inlineGroup - it was completely pointless now, and was the
cause of some whitespace collapsing bugs
* fix a float bug made visible by the above change
* fix non-standard list item counter behavior
|
|
|
|
|
|
|
|
|
|
| |
Setting the width to max-content was supposed to be an optimization,
but it seems max-content has some issues when interacting with floats.
Arguably this is just hiding the bug, but my attempt to fix max-content
was not successful...
(That is to say, I suspect floats still behave strangely in tables.)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* normalize flow baseline computation
* fix various margin collapsing bugs
* eliminate inlineStack
* eliminate push*
* derive BlockBox and InlineBox from CSSBox
This removes a pointer from BlockBox, and adds a pointer to both
BlockBox and InlineBox (type field). A net loss, but it makes the code
more manageable.
Plus, inline groups now need one less allocation, so overall it's not
that bad.
|
|
|
|
| |
+ some strict defs
|
|
|
|
|
|
|
| |
startsWithNumber was a poorly copied version of the standard algorithm,
which, as it turns out, is largely redundant.
So I removed most of it and inlined the rest.
|
| |
|
|
|
|
| |
Now select[multiple] options have the same coloring as w3m.
|
|
|
|
|
|
|
|
|
|
|
| |
Having to initLine after every block hurts... I've added a mechanism to
at least eliminate cleared floats, but I wish we just didn't init the
line :/
(I tried making it lazy, but I couldn't get it to work elegantly.)
I've also added some comments about flow, and moved around code so that
related layouts are mostly in the same place.
|
|
|
|
|
| |
Eliminates two superfluous line box alignment passes, and fixes some
vertical-align bugs.
|
|
|
|
| |
no idea why JS_NewCFunction3 is not public...
|
| |
|
|
|
|
|
| |
Also removed the redundant pushPositioned/popPositioned calls in
popPositioned.
|
|
|
|
|
|
| |
<media-condition-without-or> works correctly once again.
ref. https://todo.sr.ht/~bptato/chawan/46
|
|
|
|
|
| |
clipBox must not be allowed to start outside the canvas, or
paintBackground will happily try to setTextStr in a negative position.
|
|
|
|
| |
My bad; not present upstream.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since toJS doesn't create a new value, `node' must be dup'd if it is
a JSValue.
Also, forbid .jsset on JSValue as it was broken as well and it's not
obvious what the intention is when using it. (Probably it should free
the old value, but did the user think of setting it? :P)
I can see why I made toJS not dup the value - to make returning
consistent with Nim's semantics - but it really makes things
confusing... implicitly behaving as lent might be better, albeit less
convenient.
|
|
|
|
| |
Also, some more work on the unification of inline & block layouts.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* reinit line after outer block height is known
* do not set wrap in finishLine preceding outer block layout
* attach pending inline floats to line boxes
* unify flow a bit more
The last two points mean that we now (mostly) handle inline floats
like block floats, which is great because only the latter ever worked
properly.
(Well, margin resolution still needs work...)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Anonymous inline boxes were blocking progress on layout caching, so they
are now gone. Instead, we handle them in layoutInline (which meanwhile
has spaghettified to beyond comprehension... now it's a special case
of inner BlockBox (kind of?) - incredibly, it still passes tests :P)
This seems to match what major browsers do as well; some test cases were
updated to reflect the "improved" rendering this brings.
Next I'd like to remove anonymous table boxes by generating them in
cascade. Then it should be straightforward enough to at least reuse
flow roots on relayout.
(And clean up flow layout...)
|
|
|
|
| |
it's size.h, not size.w
|
|
|
|
| |
Plus remove addLines, it's no longer very useful.
|
|
|
|
|
|
|
| |
It's an improvement, but the painting order still isn't quite right...
Also fixes a bug where paintBackground would unnecessarily append an
extra line to the document's end.
|
|
|
|
| |
hsl is quite popular these days.
|
| |
|
|
|
|
| |
...and refactor applyValue in the process.
|
|
|
|
| |
Now getComputedStyle works with pseudo-elements too.
|
|
|
|
|
|
| |
An ancient bug, but the fix seems to be quite simple: stop confusing the
last X position before the existing string on the line with the last X
position that the new string occupies.
|
|
|
|
|
|
|
|
| |
Even if we don't do some z-ordering correctly, it's no excuse to paint
boxes incorrectly.
It's also extremely annoying when I try to use a menu and text bleeds
into the drop-down window.
|
|
|
|
|
|
|
|
|
|
|
| |
and once again, there was light...
Well, it barely works, but it's enough to get colors back on most sites.
Nested variables aren't supported for now, and shorthand expansion only
"works" for `background' (it's a hack).
Props to the W3C for introducing the C preprocessor to CSS - I was
starting to confuse it with JSSS after calc().
|
| |
|
|
|
|
| |
Unicode has no half-width hiragana :/
|
| |
|
| |
|
| |
|
|
|
|
| |
this should be all of them
|
|
|
|
| |
starting to run out of test case names
|
|
|
|
| |
@media (grid: 1) works again.
|
|
|
|
| |
Fixes acid3 test 21
|
|
|
|
|
| |
This must not be handled by the tree builder, as that needlessly
complicates tree caching.
|
|
|
|
|
|
|
| |
In this case, it seems we have to wrap.
(It's still not quite there; replace flow-root with inline-box to see
another interesting bug...)
|
|
|
|
| |
We do not support sticky scrolling, but this much should still work.
|
|
|
|
|
|
|
|
| |
Turns out this doesn't work like I thought it does... the second
layout is always needed.
This probably means that it's possible to layout absolutes during flow
after all...
|
| |
|
| |
|
| |
|