| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
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...
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Pros: basic display on pages that depend on grid being implemented to
display anything at all.
Cons: breaks pages that have a fallback layout for UAs that can't do
grid. (In practice, such pages must be rare - CSS for layout is painful
enough that nobody in their right mind will spend time on implementing
a fallback layout for the same DOM.)
|
|
|
|
|
|
| |
(also removed unused windows check)
ref. https://todo.sr.ht/~bptato/chawan/50
|
|
|
|
|
|
| |
The standard specifies counter-intuitive behavior dependent on
non-standard CSS.
Lacking evidence that this is needed, we ignore it.
|
|
|
|
|
|
| |
It made cached layout inconsistent with uncached layout.
(I'm not sure if this is actually observable; either way, it's a bad
idea to rely on this.)
|
|
|
|
| |
it worked somehow, but it's wrong...
|
|
|
|
|
|
|
|
|
| |
Previously, the code just called put and unset on handles in situations
where it seemed necessary, but this has become unmanageable.
Now, put is called as soon as a handle receives its stream, and unset is
called whenever said handle (and thereby its stream) is closed.
This fixes a bug in loadCGI with an rbtCache body.
|
|
|
|
|
|
|
| |
* optimize toJS set
* change defineProperty wrappers to return an enum
If we're going to wrap defineProperty, then let's do it properly.
|
|
|
|
|
|
| |
I've also refactored the code a bit, so it's both easier to understand
and more efficient. (In particular, BlockLayoutState no longer has to
store marginBottom.)
|
| |
|
|
|
|
| |
+ simplify argv -> seq conversion
|
|
|
|
|
| |
In theory, it is possible for rename to succeed before the buffers are
flushed, and then we lose data.
|
|
|
|
|
|
|
| |
It's simpler and more efficient to handle this in the DOM.
(The interface was also confusing/broken in that it only really accepted
one htmldda class.)
|
|
|
|
|
| |
Not having them is a bad omen; I think the only reason this hasn't
caused an issue yet is that only a few types embed JSValues.
|
| |
|
|
|
|
|
|
| |
I've also removed the rsBeforeStatus error check from iclose. I'm not
sure if it's still needed at all, but if it is, then it was implemented
in the wrong place.
|
| |
|
|
|
|
|
| |
withCredentials doesn't really do anything yet, but will be needed if
we do cors fetch/XHR
|
|
|
|
| |
Now only WebFile can have an fd.
|
|
|
|
|
| |
Apparently it's a bug in the optimizer.
TODO: reduce & report it
|
| |
|
|
|
|
|
|
| |
Achieved by generating an anonymous flow root child for the contents and
positioning that. (Not the cell contents directly - that wouldn't work
because of inline child boxes.)
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
We were calling the wrong getTypePtr.
Also, fix some manual tests.
|
|
|
|
| |
not standard-compliant, but better than nothing
|
| |
|
| |
|
|
|
|
| |
it looks ugly
|
| |
|
| |
|
|
|
|
| |
also, fix a typo
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|