| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
| |
instead of trying to evaluate exceptions...
|
|
|
|
|
|
| |
* cancel resources on cancel() call
* call _exit in signal handler (also in loader)
* misc cleanups
|
|
|
|
|
|
|
|
|
|
| |
Aside from being a wrapper of Request, it was just storing the -I
charset, except even that didn't actually work. Whoops.
This fixes -I effectively not doing anything; now it's a forced override
that even disables BOM sniffing. (If the user wants to decode a file
using a certain encoding, it seems wise to assume that they really
meant it.)
|
|
|
|
|
|
| |
The API is horrid :( but at least it copies less.
TODO: think of a better API.
|
|
|
|
| |
Return the empty string if it's unset.
|
| |
|
|
|
|
|
|
|
|
| |
* factor out pushBuffer to make loadFromCache async
* fix incorrect cache path
* replace rewind with loadFromCache (it does the same thing except
actually works)
* remove rewindImpl callback, rewind in buffer instead
|
| |
|
|
|
|
|
| |
* show submission URL on hover for all form-associated elements
* skip non-checked checkbox/radio inputs
|
|
|
|
| |
useful for filtering stuff through commands like rdrview
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At last all BufferSources are unified.
To achieve the same effect as the previous CLONE source type, we now
use the "fromcache" flag in Request. This *forces* the document to be
streamed from the disk; if the file no longer exists for some reason,
an error is returned (i.e. the document is not re-downloaded).
For a document to be cached, it has to be the main document of the
buffer (i.e. no additional resources requested with fetch()), and
also not an x-htmloutput HTML file (for those, the original source is
saved). The result is that toggleSource now always returns the actual
source for e.g. markdown files, not the HTML-transformed version.
Also, it is now possible to view the source of a document that is
still being downloaded.
buffer.sstream has almost been eliminated; it still exists, but only as
a pseudo-buffer to interface with EncoderStream and DecoderStream. It no
longer holds the entire source of a buffer at any point, and is cleared
as soon as the buffer is completely loaded.
|
|
|
|
|
| |
We no longer have to wait for the entire document to be loaded to start
loading CSS.
|
|
|
|
|
| |
* enumize insertAdjacentHTML position
* un-extern attrs
|
| |
|
| |
|
| |
|
|
|
|
|
| |
tagType is now a function call, but usually it's enough to just test for
the object type.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Yay!
Admittedly, it is not very useful in its current form, except maybe on
very slow networks.
The problem is that renderDocument is *slow*, so we only run it when
onload fails to consume all bytes from the network in a single pass.
Even then, we are guaranteed to get a FOUC, since CSS is only downloaded
in finishLoad(). Well, I think it's cool, anyway.
|
|
|
|
|
|
|
|
| |
* Update chame to the latest version
* Get rid of nodeType usage
* Add atoms
* Re-implement DOM attributes
* document.write
|
|
|
|
|
|
|
| |
* Unify form variable for all form-associated elements
* Fix broken form association logic in resetFormOwner
* Use form action for all form-associated submitters
* Remove unused getElementsByTag + de-extern some functions
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
It's still not perfect, but at least now we do not apply non-standard
whitespace changes.
The stringifier is left as it is since it's more useful for debugging
this way.
|
|
|
|
| |
They only had type definitions, no need to put them in separate modules.
|
| |
|
| |
|
|
|
|
| |
much better
|
|
|
|
| |
whoops
|
|
|
|
| |
(still no module support in buffer...)
|
|
|
|
|
|
|
|
| |
One is a false-positive (in dom).
The other one in pager is something I hadn't noticed before, that's
nice. For now I want to avoid making a change that may break things, so
I just removed the dead code.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See e.g. the sr.ht issue tracker, now forever tainted by the tickets
I accidentally submitted :P Chawan will gladly autosubmit without the
user having written anything in the textbox just by writing some text
in the title.
The problem is that graphical web browsers typically have a "submit"
keybinding (enter), and a "next field" keybinding (tab). The implicit
submission mechanism was created with graphical browsers in mind;
like w3m, Chawan only has an "ok" keybinding, which may or may not
also mean "submit".
With this solution, only forms that could not otherwise be submitted
will autosubmit.
|
|
|
|
|
| |
Avoid computing e.g. charwidth data for http which does not need it
at all.
|
|
|
|
|
| |
Instead, make finalizers optionally pass their runtime for resource
deallocation.
|
| |
|
|
|
|
| |
(and expose it as a JS function)
|
|
|
|
|
|
| |
* parentElement is now just a function.
* Remove TODO from node.document; it is useful and not going anywhere.
* Check for Nim type in Node.document, not nodeType
|
|
|
|
| |
It is only defined for Document, Element, DocumentFragment.
|
| |
|
|
|
|
|
| |
Also, func-ize some similar identity functions, and add TODOs about
[Replaceable].
|
| |
|
|
|
|
|
|
|
| |
* Add DOMContentLoaded
* Re-use the same event object for all elements
* Reshape if an event was fired
* Reshape on setTimeout/setInterval fired
|
| |
|
|
|
|
| |
not a real implementation, just to reduce exceptions
|
| |
|
|
|
|
|
|
|
|
| |
* tolower: strutils toLowerAscii is good enough for the cases where
we need it. Also, it's easy to confuse with unicode toLower and
vice versa.
* isWhitespace: in AsciiWhitespace is more idiomatic. Also has a
naming collision with unicode toLower.
|
|
|
|
| |
both just return identity
|