| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Well, it's not much prettier... but it will be useful for keep-alive.
(Hopefully.)
Also, loader could now be locked down capsicum/pledge/seccomp, but I'm
not sure if there's a point. The biggest potential threat it faces is
cross-contamination of handles, and no amount of syscall filtering is
going to protect against that.
|
|
|
|
|
|
|
|
|
| |
I've removed the SIGINT trap because the fork server is now in a
separate process group than the main process anyway. We'll see if this
actually works...
Also realized we weren't closing the fork server's control stream on
fork; now we do.
|
|
|
|
|
|
|
|
|
|
| |
Instead of trying to track child pids (which is wrong - a child may die
at any time for whatever reason, so we could have ended up murdering
some random process that took its place...), just setsid on forkserver
start and send SIGTERM to the entire process group on termination.
Also removed the loader pid from the FileLoader object, as it is no
longer useful.
|
| |
|
|
|
|
|
|
|
|
|
| |
This time, I've also ported over the consistency check to prevent some
ownership bugs.
Unfortunately, the check is very limited, and it is still possible to
double-free or leak JSValues. I think it would be possible to make
coverage 100%, but only with ARC...
|
| |
|
|
|
|
|
|
|
| |
* optimize toJS set
* change defineProperty wrappers to return an enum
If we're going to wrap defineProperty, then let's do it properly.
|
|
|
|
|
| |
In theory, it is possible for rename to succeed before the buffers are
flushed, and then we lose data.
|
| |
|
|
|
|
|
|
|
| |
We sent the two packets at the same time anyway.
(Status could have been sent earlier in some cases, but there is no
point - it's unused until after all headers have been received.)
|
|
|
|
|
| |
This adds a runtime check to packet readers to ensure that all fds have
been read, and switches to seqs for packet writers.
|
|
|
|
|
| |
Conflating buffered streams with non-buffered streams is generally a
bad idea.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now we just pass down the value of n and check errno, plus
readDataLoop/writeDataLoop returns a bool indicating whether it failed.
For now this seems to work OK, but maybe I'll add a better abstraction
in the future.
EOFError is still used for handling failed packets; this is brittle,
and should be replaced once we have a proper buffering mechanism for
them. (That will also let us kill BufStream.)
Unrelated: this also fixes a bug in buffer with cacheId.
|
|
|
|
|
|
|
|
| |
and throw out the conflict resolution logic; it doesn't matter much if
we override an old cache file, as it should have been cleaned up anyway.
I've also replaced dirExists + createDir with a single mkdir at call
sites. If it fails, so be it.
|
| |
|
| |
|
|
|
|
| |
it looks ugly
|
| |
|
|
|
|
|
|
|
|
| |
Instead of hashing the class name for isInstanceOf, we now just reuse
the Nim type pointer -> JSClassID map, which should be more efficient.
This removes getClass and hasClass; these can be replaced by just
reusing the class ID returned from registerType.
|
|
|
|
|
|
|
|
|
|
| |
We were painting the background box in render for dump mode, but this
conflicted with the standard requirement that the canvas be painted
before other elements. So now we handle this directly in the pager.
Conveniently enough, this also fixes the issue of canvas color adding
pointless spacing to pages (which often made the selection feature less
useful.)
|
|
|
|
| |
ref. https://todo.sr.ht/~bptato/chawan/43
|
|
|
|
| |
Undocumented, plus and globalThis/window are enough.
|
|
|
|
| |
Event handler functions can be set twice now.
|
|
|
|
|
| |
Dump mode remains the same, except now it can be controlled in
config.toml as well.
|
|
|
|
|
| |
This isn't great, but neither was passing around a pointer that pointed
to a single object.
|
| |
|
|
|
|
| |
just a waste of space
|
| |
|
|
|
|
|
|
|
|
| |
* do not trigger change event if selection did not change
* do not destroy old selection on option insertion steps
* position select popup correctly
* reflectors for disabled attribute
* immediately redraw container when select disappears
|
|
|
|
|
|
|
|
| |
Significantly more efficient in long running commands (as the context
switch is gone).
For many commands in quick succession... it replaces the fcntl with
a tcsetattr, so I guess it's the same?
|
|
|
|
| |
by storing capabilities as strings instead of cstrings.
|
|
|
|
| |
ok now I understand why I made shareCachedItem crash...
|
|
|
|
| |
probably breaks with TLA
|
|
|
|
|
| |
All uses of these could be delegated to other processes with more
privileges.
|
|
|
|
|
| |
This means we can now use about:downloads for downloads.
Plus it shaves off some ks from the distribution.
|
|
|
|
|
| |
Redirection no longer preserves the previous cursor position, so
gotoAnchor is now allowed to override it.
|
|
|
|
|
|
|
|
|
| |
And clean up the function, while we're at it.
ref. https://todo.sr.ht/~bptato/chawan/45
(The submit bug is unrelated, just something I discovered while testing
nextHist & prevHist.)
|
| |
|
|
|
|
|
|
| |
Crude, but better than nothing.
(I really wish the screen didn't flash on reload...)
|
| |
|
|
|
|
|
|
|
| |
Navigation from e.g. setTimeout still doesn't work.
Also, the hover check now uses the auth origin instead of the host, and
the auth origin now works for "file" as expected.
|
|
|
|
|
|
|
|
|
|
| |
The intent behind the original design was that the page shouldn't change
without user interaction. This sounds good in theory, but in practice
it's unnecessary if you disable JS (nothing will modify the page), and
annoying if you enable it (breaks pages that load with AJAX).
So now we queue a task to notify us when the page has been updated, and
act accordingly when the task is completed.
|
|
|
|
|
|
| |
looks like we still need this fence
ref. https://todo.sr.ht/~bptato/chawan/42
|
|
|
|
|
|
|
|
|
|
| |
pager: I want to change mailcap command parsing, so a custom
implementation is needed.
term: now it uses a custom buffer for the output stream too.
I don't think there is much difference in performance, but stdio was in
the way.
(Also, this way it will be easier to make it async in the future.)
|
|
|
|
| |
Implements the [Replaceable] WebIDL property.
|
|
|
|
| |
ref. https://todo.sr.ht/~bptato/chawan/41
|
|
|
|
|
|
| |
Particularly useful when debugging minified JS.
vi always wraps; the centering behavior is from vim.
|