| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
The original goal was to comply the Uninit warning, but this is now a
futile effort as Uninit is no longer planned to be the default in Nim.
Setting `res' to its type's default value is therefore just a waste of
cycles when it's already zero-initialized.
|
|
|
|
| |
Allows branching on the scheme without string comparisons.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
it *is* allowed by the RFC, but others don't do it and some servers
choke on it.
|
| |
|
|
|
|
|
|
|
|
|
| |
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...
|
|
|
|
| |
Now only WebFile can have an fd.
|
|
|
|
|
| |
Apparently it's a bug in the optimizer.
TODO: reduce & report it
|
|
|
|
|
| |
This adds a runtime check to packet readers to ensure that all fds have
been read, and switches to seqs for packet writers.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We were painting the background box in render for dump mode, but this
conflicted with the standard requirement that the canvas be painted
before other elements. So now we handle this directly in the pager.
Conveniently enough, this also fixes the issue of canvas color adding
pointless spacing to pages (which often made the selection feature less
useful.)
|
|
|
|
|
| |
Base InlineBox is a fair bit smaller now, and (most) strings are
cached using RefString.
|
|
|
|
| |
ok now I understand why I made shareCachedItem crash...
|
| |
|
|
|
|
|
|
|
| |
Navigation from e.g. setTimeout still doesn't work.
Also, the hover check now uses the auth origin instead of the host, and
the auth origin now works for "file" as expected.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
It's an improvement, but the painting order still isn't quite right...
Also fixes a bug where paintBackground would unnecessarily append an
extra line to the document's end.
|
|
|
|
| |
hsl is quite popular these days.
|
|
|
|
| |
Now getComputedStyle works with pseudo-elements too.
|
|
|
|
|
|
| |
largely unused
lent idea from nim-results
|
|
|
|
|
|
|
| |
In lite mode, it uses default window attributes.
Incidentally, this also untangles media query matching from cascade,
saving us a forward declaration hack (yay!)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Until now, we just stuffed it into the URL, which was somewhat
problematic.
Mainstream browsers like to hide the username from the user, but I've
decided to follow w3m: buffers do not receive auth info, but the pager
itself displays the username.
As for the origin: I wanted to use the regular origin, but that does not
work with any custom URL. So instead of changing the regular origin
function, I've added another.
|
|
|
|
| |
I want to remove it
|
|
|
|
| |
Only available in "app" mode.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
This only resulted in false negatives; seems like it's a remnant from
the old, non-standard implementation that did not correctly check for
the per-cookie domain.
(also, fix a strict def)
|
|
|
|
|
|
|
|
|
| |
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.)
|
|
|
|
| |
toJS is generally more efficient
|
| |
|
|
|
|
| |
did I ever test this?
|
| |
|
|
|
|
|
| |
Always override Expires with Max-Age, but never the other way (as per
spec.)
|
| |
|
|
|
|
| |
file:/// is the standard serialization.
|
|
|
|
|
|
|
|
| |
Cookie jar separation is already enough to mitigate tracking issues
in this case. (Also, the fact that third-party-cookie controlled this
made things even more confusing.)
Also, add the previously missing host-only flag.
|
| |
|
|
|
|
| |
I no longer need it
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It gets copied once anyway, so just use a blob.
I guess I could skip the copy with some effort, but the 4 lines
implementation is too attractive :P
This is still an improvement, as it doesn't needlessly zero-fill the
buffer on realloc.
(I've also removed the final realloc from blob, as it seemed quite
pointless. Using Content-Length could help... except it doesn't,
because it refers to the encoded length. Ugh.)
|
|
|
|
|
|
|
|
|
|
|
|
| |
* remove std/streams use from mime.types; mmap and parse directly
* use mime.types for inline image extensions
* add some jpeg file extensions
Latter came up because I was trying to add a format locally and it
wouldn't recognize it on images from my file system (i.e. by extension).
As a security measure we still do not allow additional extensions for
predefined inline image types.
|
| |
|
|
|
|
| |
one less mystery
|
|
|
|
|
| |
* get rid of hash table
* only do a single port lookup every time the port changes
|
|
|
|
| |
kill qmark hack, plus refactor the form data parser/serializer
|
| |
|