| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
addPipe is unprivileged and preferable in general.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[[siteconf]] now just means [siteconf.0], etc. So you can now override
parts of default siteconfs/omnirules, e.g. to change the Google search
substitute-url, etc.
To celebrate this, I've added some more default search engines:
* wk: -> Wikipedia
* wd: -> Wiktionary
* ms: -> Marginalia Search
These can be replaced by setting e.g. omnirule.wk = {}, etc.
Also, siteconf = {} can be used to clear pre-defined siteconfs.
This is an unfortunate deviation in semantics from TOML, but in practice
the way it worked before didn't match the spec either, so at least it
is now consistent.
|
|
|
|
|
|
|
|
| |
Always placing boxes relative to their parent *seems* prettier, but the
implementation was broken and I can't come up with a sane working one.
So we're back to just special casing position: absolute in render.
Sad, but at least it works. (I think it's also a bit more efficient.)
|
|
|
|
|
| |
it *is* allowed by the RFC, but others don't do it and some servers
choke on it.
|
|
|
|
| |
others do this too
|
|
|
|
|
| |
I've set them to -cha-ansi(default) to avoid having to add even more
color type flags.
|
| |
|
|
|
|
|
| |
it still isn't really correct, they aren't supposed to behave as
absolute positioning containers...
|
|
|
|
| |
ugly hack that is no longer needed
|
|
|
|
|
|
|
| |
Well, I was trying to reproduce *another* float bug when I accidentally
stumbled upon this...
The fix is somewhat ugly, but not as bad as I expected.
|
|
|
|
|
|
|
|
|
| |
For compatibility with mainstream browsers. e.g. this should allow
log-ins through ajax.
To synchronize the loader's cookie jar with that of the pager, we open
a stream (about:cookie-stream) to pass over serialized cookies when
required.
|
| |
|
|
|
|
|
|
|
| |
* print path on error (like in toml)
* fix line tracking
* accept non-ASCII commands
* (also adjusted some error messages in config & toml)
|
|
|
|
| |
It's surprisingly tricky.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The input buffer is no longer copied, and parseFloat32 gets an openArray
instead of a copy of the string to parse.
I've also simplified the parser somewhat so it now operates on
openArrays of CSSComponentValues. It's still far more complex and
wasteful than it should be, but it's progress.
|
| |
|
|
|
|
|
| |
ok so apparently you can leave out the semicolon, but *only* if the at
rule is at EOF
|
|
|
|
|
| |
in this case they actually made sense, but I want to remove them
altogether
|
|
|
|
|
| |
I'm not 100% content with this syntax either, but it's a significant
improvement over the previous solution.
|
| |
|
| |
|
|
|
|
|
|
|
| |
The old API was needlessly complex and suggested that it could only be
used for DOMException (which is not the case).
(Also optimized out code lookup from the DOMException constructor.)
|
| |
|
| |
|
| |
|
|
|
|
| |
Doesn't seem to be necessary anymore.
|
|
|
|
|
|
| |
* layoutBlockChild has two branches less
* better separation of code into individual layouts; layout() is now the
main entry point for inner layout
|
|
|
|
| |
Clearing the entire dependedBy array in applyStyleDependencies is wrong.
|
|
|
|
|
|
|
|
| |
Instead of generating a separate container box for list items, just set
the marker's display to an internal value that is treated specially.
This fixes a bug where position: relative would not register the correct
block as the positioned ancestor.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old logic was badly copy pasted from the pass that did text
formatting; accordingly, it was overly complex and did not work
correctly.
Now we just add a single formatting cell to override the last one if
it exists. (Formatting cells go from x position -> next cell or line
end, and padding implies that the line had ended before the starting
position of our text.)
I've left in a workaround to what I think is a bug. It may be related
to cursorNextLink getting stuck at the line's end...
|
|
|
|
|
|
|
|
| |
* only free callback after setting it to undefined (just in case JS
observes the free with WeakMap etc.)
* do not directly call callback; QJS really doesn't seem to like it when
it deletes itself with removeEventListener
* fix a leak with handleEvent
|
|
|
|
|
| |
This may happen if the buffer crashes while pager is trying to share its
resources.
|
|
|
|
|
| |
* ignore username/password if undefined
* do not throw on subsequent fetch with username/password
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Never mind, it also broke some other things :(
This reverts commit bc294d3284e0448b2f149ac6d905c8474508791d.
|
|
|
|
|
| |
The algorithm itself is still fundamentally broken, but this at least
prevents some cases of images becoming absurdly large.
|
|
|
|
| |
Now it only does HTTP/1.1, with Connection: close.
|
| |
|
| |
|
| |
|
|
|
|
| |
Lack of cbool is a pain. I'm sticking with JS_BOOL for now.
|
| |
|
| |
|
|
|
|
|
| |
Also removes the computation of underflow on the end margin for blocks;
as far as I can tell, this was never used.
|
|
|
|
|
|
|
|
|
|
| |
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.
|