| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.)
|
| |
|
| |
|
|
|
|
| |
just a special case of position: absolute
|
| |
|
|
|
|
| |
now it loads invidious comments. wow
|
|
|
|
|
| |
* fix externFilterSource ignoring content types other than html
* refactor runProcess to use a custom fork/exec instead of system(3)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sadly, pushCursorPos may not be paired with a popCursorPos in case the
container in question is replaced during the isearch. The easiest way to
reproduce this is:
* start request to a page that redirects
* start isearch
* redirection happens, now the old container is gone
* type something
Then, popCursorPos would try to pop the cursor position from the new
container.
An alternative (and better) solution would be to add a weak ref to the
container as the line edit data. Sadly, we don't have weak refs, and I
don't want to hack them in with finalizers.
(But maybe I should. Hmm.)
|
|
|
|
| |
also, parse the last paragraph properly
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Just to remove a level of indirection; the libcurl API is annoying to
deal with when you don't even need asynchrony.
It doesn't change anything in actual dependencies, because libcurl uses
libssh2 too - however, now only http depends on libcurl, which makes
reducing it to an optional module feasible.
Still, I've listed libssh2 (along with OpenSSL - long overdue) in the
readme just in case some OS doesn't pull in the headers by default as
a libcurl dependency.
Also, fix some bugs:
* fix missing CWD command in FTP
* resolve directories even if they don't end in /
* allow links without -> in dirlist
|
| |
|
|
|
|
|
| |
Found this because the 5th largest tech company on Earth cannot bother
itself with trivial matters such as "writing valid CSS".
|
|
|
|
|
|
| |
This isn't exactly clear from the standard's wording, but e.g. *display:
inline must be discarded (because it incorrectly starts with a delim
token).
|
|
|
|
|
|
|
|
|
|
| |
Nested position: absolute was broken, so fix it.
Also, it makes no sense to dispatch inside layoutBlockChild when we
know the expected resolution algorithm upon calling it anyway, so now we
do that statically.
Finally, fix some bugs in position: absolute size resolution.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
again, not that useful to put it in a separate module if only term
uses it
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This drops libseccomp as a dependency.
Also, move the capsicum/pledge definitions from bindings to sandbox.nim
because they are only used there.
Interestingly, after integrating chaseccomp I found that the
stbi process would mysteriously crash by a getrandom(2) syscall.
Closer investigation revealed it is only called on the initialization
of glibc's malloc; presumably it had never surfaced before because
libseccomp would always allocate before entering the sandbox.
So I've added getrandom to our filter as well.
|
|
|
|
|
| |
I originally left this at 32-bits because I was on a 32-bit arch, but
that is no longer the case.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The intention is that only inline code tags have reverse video;
otherwise it often messes with syntax highlighting.
I've made it a descendant selector (instead of a cheaper parent
selector) because I can easily imagine markup like
<pre><div><code>...
which really shouldn't enable reverse video either.
|
| |
|
|
|
|
|
|
|
|
| |
* fix line not being printed on pre end
* add head to pre tags
- this isn't in CommonMark, but it makes it easier to write
hybrid markdown/HTML.
* use character range constants
|
|
|
|
| |
until it's fixed upstream...
|
|
|
|
|
|
|
|
|
|
| |
* consistently use cint instead of FileHandle
- this was another remnant of winapi support; on posix, they are
the same.
* move "blocking" field to PosixStream
* recvFileHandle -> recvFd, sendFileHandle -> sendFd
* merge serversocket into dynstream
* merge auxiliary C functions into dynstream_aux
|
|
|
|
|
|
|
|
|
|
|
| |
nativesockets is a wrapper over posix and winapi, but we don't support
winapi, so we can just fall back to PosixStream instead.
SocketStream remains as a constraint over PosixStream to allow
sendFileHandle/recvFileHandle.
As a nice side effect, we can drop some allowed syscalls from the
seccomp filter.
|
|
|
|
| |
apparently this is relative to the current page
|
|
|
|
|
| |
On a second thought, no timeouts for name resolution is fine - and even
if it weren't, it's better implemented in the loader.
|