| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
We have a markdown converter, so why not use it?
|
| |
|
| |
|
|
|
|
| |
This avoids some unnecessary string copying.
|
|
|
|
| |
this way, we do not refer to nodes of previous cascade passes
|
|
|
|
|
|
|
|
|
|
| |
Instead of allocating a separate object for each box, just re-use
a single BlockBox on re-layouts.
This means that now the (block-level) tree is built in its final form in
the first pass.
(Inline boxes remain the same as before for now.)
|
|
|
|
|
| |
* fix list-style-position: inside
* get rid of ListItemBoxBuilder
|
|
|
|
|
|
|
|
|
| |
Captions are no longer positioned inside tables, yay.
Also, misc:
* rename some things for consistency
* clamp out of bounds rgb() values
* remove inherited property lookup table
|
|
|
|
|
| |
This is not a perfect solution, but it's still better than not being
able to double click on CJK links correctly.
|
|
|
|
|
|
|
| |
Pointless bloat that fixes no real problems, but it's standard now...
(Are we supposed to add a helper function that returns null for *every*
constructor that can throw now?)
|
|
|
|
|
| |
I wish we didn't need any, but fixing this for integers would be too
involved and the float64 one was causing problems now.
|
| |
|
| |
|
|
|
|
| |
removes elaborate table box type hierarchy that does nothing
|
| |
|
| |
|
|
|
|
| |
Both outputs suck, but it probably doesn't matter much.
|
|
|
|
|
| |
* update naming
* do not send status code (it was always 200 anyway)
|
|
|
|
| |
seems to get called for signal handlers
|
|
|
|
| |
rationale: see previous commit
|
|
|
|
|
|
|
|
| |
The pager already unlinks it, so ideally this should change nothing.
(This was causing buffer processes to core dump on OpenBSD, because I
forgot that I removed unlink promise. Better keep code paths the same
when possible...)
|
|
|
|
|
|
|
| |
* make Client an instance of Window (for less special casing)
* misc work on Request & fetch
* improve origin comparison (opaque origins of same URLs are now
considered the same)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the following printed "2" instead of "12":
<div style=float:left>1</div><div style=display:flow-root>2</div>
This fixes the above problem in the laziest possible way: we relayout once
in the smallest possible space the BFC fits in when floats exist. See the
comment in the code for details.
As a nice bonus, this also fixes tables overlapping with floated boxes,
by pretending that they establish a BFC.
|
|
|
|
|
| |
The renderer cannot handle it yet, but at least this fixes pages that
expect overflow: hidden (etc.) to establish a new BFC.
|
|
|
|
|
| |
Including our own position is a mistake, since the BFC starts from the
inner box.
|
| |
|
|
|
|
| |
Fix percentage-based left/right etc.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
* add $LOGNAME to the tmp directory name, so that tmpdirs of separate
users don't conflict
* use separate directory for sockets, so that we do not have to give
buffers access to all cached pages
|
| |
|
|
|
|
| |
for consistency
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* fix enctype not getting picked up
* fix form data constructor requiring open() syscall (which gets blocked
by our seccomp filter)
* add closing boundary to multipart end
* pass fds instead of path names through WebFile/Blob and send those
through bufwriter/bufreader
|
| |
|
|
|
|
|
|
| |
* use EDITOR environment variable in default config, fix line number
ordering in fallback
* autodetect vi-like editors and add line number
|
|
|
|
|
|
|
| |
* Replaced the `pcanvas' comparison with a much simpler tracking of
the first damaged cell in writeGrid, which is significantly faster.
* Removed emulate-overline: it's of too little utility compared to the
maintenance burden it caused.
|
|
|
|
|
|
| |
Use a LUContext to only load required CharRanges once per pager.
Also, add kana & hangul vi word break categories for convenience.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of using the built-in (and outdated, and buggy) tables, we now
use libunicode from QJS. This shaves some bytes off the executable,
though far less than I had imagined it would.
Also, a surprising effect of this change: because libunicode's tables
aren't glitched out, kanji properly gets classified as alpha. I found
this greatly annoying because `w' in Japanese text would now jump
through whole sentences. As a band-aid solution I added an extra
Han category, but I wish we had a more robust solution that could
differentiate between *all* scripts.
TODO: I suspect that separately loading the tables for every rune in
breaksViWordCat is rather inefficient. Using some context object (at
least per operation) would probably be beneficial.
|
|
|
|
|
|
|
| |
Turn Offset, Size, etc. into arrays indexed by a DimensionType enum,
and use it to unify code that only differs in the dimension it is
computing for. (e.g. this lets us use the same code for flex row &
column layouts.)
|
| |
|
|
|
|
| |
It would silently truncate the upper 32 bits... not a very bright idea.
|
| |
|
|
|
|
|
|
| |
Turns out we also have to *expand* column width, if the specified column
width is too small *and* no unspecified column exists to take the rest
of the place.
|