| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Use prepend-scheme = '' instead.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Allows branching on the scheme without string comparisons.
|
|
|
|
| |
That's how cookies *should have* worked, not how they actually work.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I considered using terminfo, but it works *worse* on several terminals
I've tried than whatever this is. So out with ncurses, I say.
In this new scheme, if the terminal is unrecognized, it is assumed to
be XTerm-compatible. This does mean that an unrecognized terminal that
doesn't do XTGETTCAP or COLORTERM will not get true colors.
Another drawback is that non-VT-compatible terminals now have zero
chance of working. This is unfortunate, but realistically they probably
didn't work until now either.
|
|
|
|
| |
while at it, prefer seek to discarding consume
|
|
|
|
| |
undocumented and likely unused.
|
|
|
|
|
|
| |
Turns out the cure was worse than the disease. Let's just make it a
backwards incompatible change, so that at least the error message is
no longer nonsensical.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[[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.
|
|
|
|
| |
others do this too
|
| |
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
This time, I've also ported over the consistency check to prevent some
ownership bugs.
Unfortunately, the check is very limited, and it is still possible to
double-free or leak JSValues. I think it would be possible to make
coverage 100%, but only with ARC...
|
|
|
|
|
|
|
| |
* optimize toJS set
* change defineProperty wrappers to return an enum
If we're going to wrap defineProperty, then let's do it properly.
|
|
|
|
|
| |
In theory, it is possible for rename to succeed before the buffers are
flushed, and then we lose data.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now we just pass down the value of n and check errno, plus
readDataLoop/writeDataLoop returns a bool indicating whether it failed.
For now this seems to work OK, but maybe I'll add a better abstraction
in the future.
EOFError is still used for handling failed packets; this is brittle,
and should be replaced once we have a proper buffering mechanism for
them. (That will also let us kill BufStream.)
Unrelated: this also fixes a bug in buffer with cacheId.
|
|
|
|
| |
ref. https://todo.sr.ht/~bptato/chawan/43
|
|
|
|
| |
Undocumented, plus and globalThis/window are enough.
|
|
|
|
|
| |
Dump mode remains the same, except now it can be controlled in
config.toml as well.
|
| |
|
|
|
|
|
|
|
|
|
| |
Supposedly they aren't broken in refc after 2.0.0, so we can do this now
that 1.6.14 is dropped.
I've confirmed lent to work as advertised; it indeed reduces copies.
sink doesn't seem to help much, but I guess it will be useful once we
switch to ORC.
|
| |
|
| |
|
|
|
|
|
|
| |
We already need a camel -> kebab converter anyway.
Unfortunately this also changes JS binding names, so it's a breaking
change. Oh well.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* switch from float64 -> float32; other browsers use 32-bit floats too
* specify integer size as 32-bit
* use NetworkBitmap for background-image value (currently just an
invalid dummy value)
* remove "none" property & value types
CSSValue's payload is always one word (plus another for the type tag).
CSSValues keeps its size, but no longer has to heap-alloc + refcount
word-sized CSSValues.
(On 32-bit systems, CSSValues might actually be larger than before,
but I expect it's still a net benefit with the removal of refcounting
and the switch to 32-bit floats.)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mostly compatible with other browsers/tools that follow the
Netscape/curl format.
Cookie jars are represented by prepending "jar@" to the host part, but
*only* if the target jar is different than the domain. Hopefully, other
software at least does not choke on this convention. (At least curl
seems to simply ignore the entries.)
Also, I've moved cookies.nim to config so that code for local files
parsed at startup remains in one place.
|
| |
|
|
|
|
|
|
|
|
|
| |
Looking at it closer, this never actually did what it advertised to do.
It only affected first-party cookies from subdomains, but that has been
fixed; third-party cookies were never supported in the first place.
(In fact, even first-party cookies are still skipped unless directly
received on navigation. This should probably be fixed.)
|
|
|
|
|
|
|
| |
It isn't really limited to config. It just happens to be in
XDG_CONFIG_HOME because XDG basedirs suck.
(W3M_DIR works similarly.)
|
|
|
|
| |
toJS is generally more efficient
|
|
|
|
|
|
|
|
|
|
| |
For APIs that cannot be implemented in a privacy-friendly manner.
As a start, I've added accurate screen size queries; getComputedStyle,
getBoundingClientRect, etc. should follow. (We have a harmless
getComputedStyle already, but it's broken.)
Probably, things like JS-based scroll belong in here too, but I'm not
sure yet. (Perhaps autofocus should be reused instead?)
|
|
|
|
|
| |
next's pointer backwards must be updated too, or it the dropped ref will
be erroneously displayed on the history screen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is unfortunately a breaking change, but the existing behavior was
practically broken anyway.
The only issue I can think of is that keybindings like `yy' now override
`y', which previously worked because y (regrettably) calls feedNext. But
those should be added to the default config anyway.
(If a user really desires the old behavior, they can just re-bind y to
cmd.buffer.copySelection after their own custom bindings. Config values
are now stored in an ordered table, so this should work.)
I've left the undocumented JS setter as it is, because the old behavior
seems more useful there. (Perhaps there should be a separate function
that behaves like toml?)
|
|
|
|
|
| |
It's still missing a "color visited links" feature, but it's better
than nothing.
|