| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
also, default link color is now blue for light terminal backgrounds
|
|
|
|
| |
as much as I wish it weren't, layout *is* css.
|
|
|
|
|
|
|
|
| |
* fix cloneNode not cloning id/name atoms
* fix HTMLOptionsCollection named item getter
* fix HTMLCollection named item getter not refreshing snapshot
* support named item getter for form
* add basic createEvent
|
|
|
|
| |
seems to work ok
|
|
|
|
|
| |
fixes a bug where only setting max-height and width would not re-scale
the image
|
|
|
|
|
| |
negative z-index and inline positioning are still not respected, but
better than nothing I guess.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In CSS, `position: fixed' either a) moves the box on scroll (with
`@media screen'), or b) repeats the box on every page (with
`@media print').
a) would completely mess up our document model, and even if it didn't,
the renderer couldn't handle a redraw on every single scroll.
b) sounds better, but still doesn't work because it's incompatible with
`@media screen' semantics. e.g. in a) I can read text despite any banner
on the bottom of the screen, because the box moves when I scroll, but
in b), the same box will obscure some text on every single page.
So instead, make the `position: fixed' containing box
width: max(:root.width, 100vw); height: max(:root.height, 100vh)).
This is completely non-standard, but at least both TOC-like fixed boxes
*and* banners are placed somewhere that makes some sense.
|
|
|
|
|
|
|
|
| |
* fix min-width, max-width, etc. not being accounted for properly on the
main axis
* fix fit-content sizing being overridden for flex items
* fix baseline not being set
* somewhat unrelated: fix firstBaseline not being set for block boxes
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before, the initial layout of a flex item would have inherited the
parent's sizing constraint. This almost worked, except when a descendant
of a flex item with an unspecified width would resolve its percentage
against this incorrectly inherited width - per standard, this must
resolve to auto.
Also, the shrink case was wrong, because it did not scale the unit to
the respective widths; the standard mandates this as well. Hopefully I
got it right this time.
Finally, this fixes positioned inline container blocks not being set
as the absolute container.
|
|
|
|
|
|
|
| |
* add some more env vars to makefile
* remove fpermissive from GCC builds
* update Monoucha
* fix borked seccomp filter length safety check (ugh)
|
|
|
|
|
| |
setLen(0) inside the events iterator was wrong; it should have just set
all items to -1.
|
| |
|
|
|
|
| |
it handles side effects differently
|
| |
|
|
|
|
| |
ref. https://todo.sr.ht/~bptato/chawan/21
|
|
|
|
|
|
| |
also, make gopher2html more lenient, and add some functioning error
handling in our nc clone. (other scripts still have to be updated to
benefit from this)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* add restrictions on clone for buffer filter
- hardcoded it for musl, glibc and bionic. hopefully they don't
change it too soon...
* remove define directive from gen_syscalls
- now the arch nr check is hardcoded in gen_defs. makes things a
bit less complex.
* fix borked mprotect filter on bionic
- this completely broke the browser.
|
|
|
|
| |
turns out fchmod on sockets only works on Linux.
|
|
|
|
|
| |
* line, vector, matrix -> path
* twtuni, charcategory -> twtstr
|
|
|
|
| |
Looks like this no longer overflows the stack.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
It broke styles like "margin-top: -5px; padding-top: 5px", because the
margin would be taken as-is, and the padding rounded to 0. Now they
cancel each other out again.
(I think I had added this to reduce error caused by line-height, but we
don't have line-height anymore.)
|
| |
|
|
|
|
| |
+ clean up a bit
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
you can't just set the BFC offset to your own offset when the BFC's
origin is your inner offset.
(in block layout, this is addressed by initBlockPositionStates & co,
but we don't call that for inline because the offset is already resolved
there anyway. so this is a special case)
|
| |
|
|
|
|
|
|
|
|
|
| |
* make it so 'echo "$var\n" | urlenc' works as expected
* add special query encode set
* set default encode set to form data
* document encode sets in help message
also, remove a redundant percentEncode implementation from gopher2html
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* simplify "positioned" value calculation:
- don't include it in ResolvedSizes, since it's unused in most
layouts
- resolvePositioned for both absolute and relative positioning
- use "size" instead of "space" for absolute positioning
- include parent width in layout so that renderdocument does not
have to account for it
* return bottom margins as regular return values instead of var
* fix child bottom margins being discarded in inline floats
* fix inline float not including the parent block position in its BFC
position
|
|
|
|
|
|
|
|
|
| |
* abort on network sandbox violation - it's probably better not to, but
I want to think this through a bit more before changing it for good
(and then do it consistently, i.e. also for the buffer process.)
* revert case variable quoting - the lack of field splitting is
specified by POSIX, and the readme states that we target POSIX. no
need to be paranoid about imaginary shells.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* factor out `margin' field from box state
* get rid of RootInlineFragment
* `nested' -> `children'
* get rid of repositionChildren pass; now we handle relative positioning
and -cha-center/-cha-right separately
* cha-center, cha-right no longer applies to floats
* use consistent naming scheme for tests
* fix float bottom margin strut not being flushed
* fix inline floats changing non-fit-content width
|
| |
|
| |
|
|
|
|
|
| |
the man page says this isn't really portable, but it's better than
nothing
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix matching on unstripped whitespace: caught after upgrading to
upstream dash & chaseccomp wouldn't compile
* add defines to ensure that we computed the filter length correctly
* inline cut_label
* EPERM on sigaction, sigprocmask, gettid, and kill on tgkill (so a
crash doesn't trigger sandbox violations)
* move SIGSYS handler to C and add one for the network
The last change removes the stack trace from SIGSYS, but gives us the
syscall number which is probably more useful. (Indeed, we don't even
have a stack trace in release builds.)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I'm starting to favor dotfiles over XDG basedirs, but there's no reason
why we couldn't have both. So now the search path is:
0. if config was set through -C, use that
1. $CHA_CONFIG_DIR is set -> $CHA_CONFIG_DIR/config.toml
2. $XDG_CONFIG_HOME is set -> $XDG_CONFIG_HOME/chawan/config.toml
3. ~/.config/chawan/config.toml exists -> use that
4. ~/.chawan/config.toml exists -> use that
Notably, this makes it so the default directory is ~/.chawan *if* you
don't have an existing config.toml file. So in that case known_hosts
will be placed in ~/.chawan/known_hosts. However, configurations with a
config in ~/.config/chawan/config.toml continue to work as expected, as
for those the known_hosts file remains inside ~/.config/chawan/.
Finally, I've added a default user CGI directory to reduce friction in
setting CGI up. (Like known_hosts, it's also relative to whatever config
dir you have.)
|
| |
|