| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
If the total specified column width is larger than the table's allowed
width, we now resize them proportionally to the specified width.
This is quite important because many tables set the width to e.g. 50%
for "give me half of the table", instead of its true meaning "give me
half of the page".
|
| |
|
| |
|
|
|
|
|
|
| |
- accept `class P { async = 1 }}`
- accept `class P { static = 1 }}` etc.
- Fixes #261
|
|
|
|
| |
Co-authored-by: Richard Davison <ridaviso@amazon.com>
|
|
|
|
|
|
|
|
| |
- move all `lre_xxx` functions to libunicode
- use flags table `lre_ctype_bits` instead of bitmaps
- simplify `lre_is_space`, `lre_js_is_ident_first` and `lre_js_is_ident_next`
- simplify `simple_next_token`, handle UTF-8 correctly
- simplify `is_let`, remove dead code
|
|
|
|
|
|
|
|
| |
- Document table and index formats
- Add size statistics
- Fix UBSAN issue in `get_le24()`
Fixes #285
|
|
|
|
|
|
|
|
|
| |
* resolve empty promises without params, not a single undefined param
(we can't just unsafeAddr constants on 1.6.14, and I don't see why we
need to pass undefined?)
* same in client with InternalError
* explicitly convert static `asglobal' to bool (1.6.14 turns unquoted
enums into ints...)
|
|
|
|
|
| |
If `content' is empty, then generating before/after pseudo-elements
is wrong.
|
|
|
|
|
| |
ansi2html depends on color, but we definitely do not want to link it
to QJS, so the converters must be moved into a separate module.
|
|
|
|
| |
Thanks @onemoresuza for noticing.
|
| |
|
|
|
|
| |
no point in having identical overloads
|
| |
|
| |
|
|
|
|
|
|
|
| |
* unwind the QJS stack with an uncatchable exception when quit is called
* clean up JS references in JSRuntime free even when the Nim
counterparts are still alive
* simplify some tests
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we didn't actually free the main JS runtime, probably because
you can't do this without first waiting for JS to unwind the stack.
(This has the unfortunate effect that code now *can* run after quit().
TODO: find a fix for this.)
This isn't a huge problem per se, we only have one of these and the OS
can clean it up. However, it also disabled the JS_FreeRuntime leak
check, which resulted in sieve-like behavior (manual refcounting is
a pain).
So now we choose the other tradeoff: quit no longer runs exitnow, but
it waits for the event loop to run to the end and only then exits the
browser. Then, before exit we free the JS context & runtime, and also
all JS values allocated by config.
Fixes:
* fix `ad' flag not being set for just one siteconf/omnirule
* fix various leaks (since leak check is enabled now)
* use ptr UncheckedArray[JSValue] for QJS bindings that take an array
* allow JSAtom in jsgetprop etc., also disallow int types other than
uint32
* do not set a destructor for globals
|
|
|
|
|
|
| |
Instead of the error-prone method of selectively applying config values
only for non-initial requests, add a separate (privileged) loader
command which allows specifying a different client config.
|
|
|
|
|
|
|
|
|
| |
* factor out skipWhitespace
* remove streams dependency
(cssparser could never stream without blocking the event loop, so we
were just passing a StringStream in all cases, which made the whole
streaming pointless.)
|
|
|
|
|
|
|
|
| |
* add CSSStyleDeclaration setter
* move ident maps directly into enums
* more complete CSSComputedValue stringifier
* turn canvas into a pseudo-image in cascade
* set canvas to inline-block
|
| |
|
|
|
|
|
|
|
| |
Equivalent to curl --insecure.
Note: unfortunately this does not help if the server is using unsafe
legacy renegotiation, you have to allow that in the OpenSSL config.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* blend bgcolor with cell color
* do not round up to 6
We don't use the sixel transparency feature because it's useless: sixel
transparency (AFAICT) only lets us respect alpha == 0, but we should
either respect *all* alpha, or no alpha at all.
Since we do color blending, we *do* respect all alpha, but only of
background color. This sadly means that text under images gets
destroyed, but at least transparent images don't look like garbage.
|
|
|
|
|
|
|
|
|
| |
* clean up global parsing
* getValueFromDecl (now parseValue) no longer depends on receiving a
CSSDeclaration (just its value)
* getComputedValues now also takes a tuple of (name, cvals) instead of a
CSSDeclaration
* fix padding shorthand accepting auto
|
| |
|
| |
|
|
|
|
| |
i + 1 must be > reader.limit, so >= is needed to avoid the addition
|
| |
|
| |
|
| |
|
|
|
|
| |
openssl needs it
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The 100kb or so doesn't hurt as much as not having manual pages at all
without pandoc (+ not auto-updating them through make all) does.
|
| |
|
| |
|
|
|
|
|
| |
Unsigned operations and conversions to unsigned types always wrap/narrow
without checks, so no need to manually mask/cast/etc. them.
|
|
|
|
| |
the status line can't have images, so this should work
|
|
|
|
|
|
|
|
|
|
| |
std's version is known to be broken on versions we still support, and it
makes no sense to use different decoders anyway.
(This does introduce a bit of a dependency hell, because js/base64
depends on js/javascript which tries to bring in the entire QuickJS
runtime. So we move that out into twtstr, and manually convert a
Result[string, string] to DOMException in js/base64.)
|
| |
|
|
|
|
| |
+ remove outdated comment
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* png: add missing filters, various decoder fixes
* term: fix kitty response interpretation, add support for kitty image
detection
* buffer, pager: initial image display support
Emphasis on "initial"; it only "works" with kitty output and PNG input.
Also, it's excruciatingly slow, and repaints images way too often.
Left undocumented intentionally it for now, until it actually becomes
useful. In the meantime, adventurous users can find out themselves why:
[[siteconf]]
url = "https://.*"
images = true
|
| |
|
|
|
|
|
| |
We no longer modify the file system inside the sandbox, so this
permission is simply not needed.
|
|
|
|
|
|
|
|
|
|
| |
* remove some properties we no longer use
* convert novalidate into a reflected attribute
* fix satClassList
* remove reference to root node in every Node
The last one is an obvious win when considering how often rootNode is
used vs the memory used by a pointless pointer on every single object.
|
|
|
|
| |
(Sadly some layout tests still fail.)
|