| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
Regrettably, Nim implements converters using procedures instead of
templates, so with JSValueConst it will gladly generate a gazillion
pointless function calls for the linker to optimize away.
Since JSValueConst itself is just a development tool, it's fine to
disable in release mode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[[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.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Originally I added Mozilla/5.0 because Google refused to serve valid
HTML without it, and some websites really disliked us not sending it.
Since then, I've had to special case Google anyway because now it only
serves usable results to a specific set of UA strings.
Meanwhile, an aggressive client blocking software has been spreading
lately, which shows a (broken, for various reasons) JS POW page if you
*do* send Mozilla/5.0. So I guess it's better to switch back for now.
The drawback of course is that now we are broken on sites that expect
us to send Mozilla/5.0. Hopefully this is no longer as common as
before.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
The issue with brotli was that we were calling toOpenArray with a
uint, and that doesn't really work in Nim (even though it looks like
it does).
So I've removed the circular buffer from brotli and made oqoff an int
for tinfl (which unlike brotli actually needs a circular buffer).
|
|
|
|
|
| |
* ignore username/password if undefined
* do not throw on subsequent fetch with username/password
|
| |
|