| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We use libseccomp, which is now a semi-mandatory dependency on Linux.
(You can still build without it, but only if you pass a scary long flag
to make.)
For this to work I had to disable getTimezoneOffset, which would
otherwise call localtime_r which in turn reads in some files from
/usr/share/zoneinfo. To allow this we would have to give unrestricted
openat(2) access to buffer processes, which is unacceptable.
(Giving websites access to the local timezone is a fingerprinting vector
so if this ever gets fixed then it should be an opt-in config setting.)
This patch also includes misc fixes to buffer cloning, and fixes the
LIBEXECDIR override in the makefile so that it is actually useful.
|
| |
|
| |
|
|
|
|
|
|
| |
* separate params with ; (semicolon) instead of , (colon)
* reduce screaming snake case use
* wrap long lines
|
|
|
|
|
|
|
|
|
| |
It is quite straightforward, because XTerm has a functionality to do
just this.
(In fact, it automatically restores the title when I use smcup/rmcup.
But when I don't, it will linger until I close the window or change the
title again.)
|
| |
|
|
|
|
| |
we also have to move the inner box offset to the parent
|
|
|
|
|
| |
* clean up formatting
* more efficient endsInNumber
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's a bad idea for several reasons:
* it's inefficient; must allocate an environment for a closure in Nim,
even though we already have one in JS
* writing macros for automatically creating functions with variadic
arguments is suprisingly difficult (see the entire `js/javascript'
module)
* it never really worked properly, because we never freed the associated
function pointer.
We hardly used it anyway, so the easiest fix is to get rid of it
completely.
|
| |
|
|
|
|
|
| |
This allows us to unify BlockBox instantiation and block-level inner
layout calls.
|
|
|
|
| |
e.g. 0x0.a should return undefined, not SyntaxError.
|
|
|
|
|
|
|
|
|
|
| |
The "id" scheme had obvious problems when multiple documents existed.
Originally it was needed because the old hacky integration with QuickJS
would occasionally result in objects being moved to other addresses.
This has been fixed long ago when I decided to vendor in a fork, so we
can just use pointers as ids unique to the entire process.
|
|
|
|
|
| |
+ better align attribute-based event handler behavior with other
browsers
|
| |
|
|
|
|
|
|
|
| |
- detect and report invalid duplicate parameter names
- throw RangeError for too many function arguments
- throw RangeError for invalid string length
- prevent `-Wcast-function-type` warnings
|
|
|
|
|
|
|
|
| |
- changed error messages
- clarify `toJSON` method usage
- simplify boxed objects handling
- for ECMA conformity, BigInt objects need a toJSON method in the prototype chain
including boxed objects
|
| |
|
| |
|
|
|
|
|
| |
- disable BigDecimal convertion in `JS_ReadBigNum`
- fix some error messages
|
|
|
|
|
|
|
|
| |
- add `minimum_length` to enforce array length validation
- add `JS_NewDate()` API
- add `[Symbol.toStringTag]` property in the global object
- simplify `string_get_milliseconds`
- support more timezone abbrevs using `string_get_tzabbr` and array
|
|
|
|
|
|
|
| |
Importing patch from upstream instead.
This reverts commits ccf177cc125e120b338612bbf24966faf3fd87fa and
6776f4dba975137f4034b1295c0f1958b752a2cb.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I wish they didn't change this. unsafeAddr may be a confusing name,
but it's more powerful than addr. Merging them violates the principle
of least power.
e.g. say I get n thru a param, and shadow it
proc x(n: int) =
var n = n + 1
a screen or two later I call
mutates_variable_in_c(addr i)
then later I no longer need to add 1, so I remove the var line.
In Nim 1.6 the compiler refuses to compile, I can instantly find the
bug. In 2.0 it does... whatever?? Maybe for an int it "works", for an
object it likely doesn't. Certainly not something I'd enjoy debugging.
|
|
|
|
|
|
| |
* fix percHeight not being passed down properly
* simplify addTableCaption; get rid of hack that turned caption outer
height into inner height
|
| |
|
|
|
|
|
| |
it's needed for memcpy; it usually compiles without the include, but
that's not guaranteed.
|
| |
|
|
|
|
| |
it can happen when do_reshape is called before any parsing happens.
|
| |
|
| |
|
|
|
|
| |
it's a waste of space; we don't use these *that* much.
|
| |
|
|
|
|
|
|
|
|
| |
it's better than nothing. I suppose.
(Two-value flex syntax is encouraged even by the standard, so it gets
used a lot, and that sets 0, not flex-basis: auto, so not having
flex-basis breaks too many things.)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
* do not re-resolve FlexPendingItem sizes; it's pointless and it breaks
percentage sizes
* fix some bugs in `flex' shorthand parsing
* add `flex-flow' shorthand
|
| |
|
|
|
|
|
|
|
|
|
| |
Still far from being fully standards-compliant, or even complete, but it
seems to work slightly less horribly than having no flexbox support at
all on sites that do use it.
(Also includes various refactorings in layout to make it possible at all
to add flexbox.)
|
|
|
|
|
| |
FF does it this way as well, and it seems sr.ht depends on it being
padding instead of margin.
|
|
|
|
|
|
|
|
|
|
|
|
| |
pledge is a bit more fine-grained than Capsicum's capability mode,
so the buffer & http ("network") sandboxes are now split up into
two parts.
I applied the same hack as in FreeBSD for overriding the buffer
selector kqueue, because a) I didn't want to request sysctl promise
b) I'm not sure if it would even work and c) if it breaks on OpenBSD,
then it's broken on FreeBSD too, so there's a greater chance of
discovering the bug.
|
|
|
|
|
| |
-O3 takes ages to compile on slower computers, and it makes roughly zero
difference in performance
|
|
|
|
|
| |
GCC seems to generate something that strongly resembles a constant time
comparison, so I guess this should be good enough.
|
|
|
|
|
| |
Otherwise, if you set OBJDIR with a non-privileged user and then install
with sudo, then it will fail to copy the manpages.
|
| |
|
| |
|
|
|
|
| |
it seems OpenBSD has no malloc_usable_size
|
| |
|
|
|
|
| |
isCommand was completely broken
|