Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | htmlparser: remove nil comparisons for Handle | bptato | 2023-07-27 | 2 | -41/+52 | |
| | | | | This makes it possible to use non-reference types as Handle. | |||||
* | html: include SEARCH tag in parser | bptato | 2023-07-25 | 2 | -5/+7 | |
| | ||||||
* | html: add SEARCH tag | bptato | 2023-07-25 | 1 | -17/+17 | |
| | ||||||
* | Fix compilation on nim 1.6.10 | bptato | 2023-07-17 | 1 | -2/+3 | |
| | | | | It appears there is a compiler bug we have to work around there. | |||||
* | htmlparser: fix regression | bptato | 2023-07-17 | 1 | -2/+2 | |
| | | | | Fixed unintended variable shadowing introduced during refactoring | |||||
* | htmlparser: make getTemplateContent optional | bptato | 2023-07-15 | 1 | -3/+4 | |
| | ||||||
* | htmlparser: check required callbacks | bptato | 2023-07-15 | 1 | -0/+13 | |
| | ||||||
* | htmlparser: add parse error handling | bptato | 2023-07-15 | 4 | -281/+437 | |
| | ||||||
* | htmlparser: correct outdated comment | bptato | 2023-07-14 | 1 | -9/+3 | |
| | ||||||
* | htmlparser: fix form association regression | bptato | 2023-07-10 | 2 | -8/+13 | |
| | | | | | | | associateWithForm was checking whether the element was in the same tree as the form, however associateWithForm is called when element is has not been inserted into the tree yet. As a fix, pass the intended parent and perform the check on that. | |||||
* | htmlparser: remove more references to dom | bptato | 2023-07-09 | 2 | -13/+34 | |
| | ||||||
* | htmlparser: more Option wrapping, remove dom reference | bptato | 2023-07-09 | 1 | -18/+21 | |
| | ||||||
* | htmlparser: fix fragment case, fix head bug | bptato | 2023-07-09 | 1 | -8/+13 | |
| | | | | Also, wrap head in an Option | |||||
* | htmltokenizer: only yield once | bptato | 2023-07-09 | 1 | -12/+22 | |
| | | | | | Seems to reverse the +200M peakmem during compile introduced by the previous commit. | |||||
* | htmlparser: decouple from DOM | bptato | 2023-07-09 | 5 | -542/+1110 | |
| | | | | | Instead of directly appending nodes to the DOM, use a DOMBuilder interface. | |||||
* | dom: work around bad codegen | bptato | 2023-07-04 | 1 | -4/+6 | |
| | ||||||
* | dom: add NodeType consts to Node | bptato | 2023-07-04 | 2 | -1/+1 | |
| | ||||||
* | Event: add some properties, js: add defineConsts | bptato | 2023-07-04 | 1 | -2/+17 | |
| | ||||||
* | htmltokenizer: fix regression | bptato | 2023-07-03 | 1 | -0/+3 | |
| | | | | we need that break statement there, it seems | |||||
* | tokenizer: fix unreachable code warning | bptato | 2023-07-03 | 1 | -1/+0 | |
| | ||||||
* | Fix compilation failure | bptato | 2023-07-03 | 1 | -1/+2 | |
| | ||||||
* | Add XHR/Event stubs | bptato | 2023-07-02 | 3 | -5/+22 | |
| | ||||||
* | return Result[T, JSError] from fromJS | bptato | 2023-07-02 | 1 | -1/+0 | |
| | ||||||
* | Cache Node.children, Node.childNodes | bptato | 2023-07-01 | 1 | -4/+23 | |
| | | | | To avoid unexpected behavior (e.g. node.children != node.children) | |||||
* | Factor out headers into separate module | bptato | 2023-07-01 | 1 | -0/+2 | |
| | ||||||
* | Use separate flag for adding getset instead of repr | bptato | 2023-07-01 | 1 | -2/+2 | |
| | | | | Still a hack, but maybe more reliable? | |||||
* | use =destroy instead of finalizers | bptato | 2023-07-01 | 2 | -0/+55 | |
| | | | | | This should help with moving to ORC in the future. (Also, finalizers do not work very well in the first place.) | |||||
* | dom: synchronously load scripts | bptato | 2023-06-29 | 1 | -17/+13 | |
| | | | | | fetch() does not work here because we can only resume parsing after the script has been executed | |||||
* | Add assign, replace, reload to location | bptato | 2023-06-29 | 1 | -1/+13 | |
| | | | | Just stubs: none of them actually work | |||||
* | Add window.location | bptato | 2023-06-29 | 2 | -6/+140 | |
| | | | | Note: setters do not work yet. | |||||
* | Remove .jsgctor | bptato | 2023-06-29 | 1 | -3/+6 | |
| | | | | | Not sure how it ever worked. This fixes Text() constructors etc. | |||||
* | cssparser: remove SyntaxError | bptato | 2023-06-25 | 1 | -4/+7 | |
| | | | | return DOMException instead | |||||
* | css/values: use Result instead of exceptions | bptato | 2023-06-25 | 1 | -4/+2 | |
| | ||||||
* | Working Nim-QuickJS GC integration | bptato | 2023-06-24 | 1 | -1/+1 | |
| | | | | I believe this works correctly. Hopefully I'm not wrong. | |||||
* | radixtree: optimize searching | bptato | 2023-06-23 | 1 | -19/+15 | |
| | ||||||
* | Do not allow text() twice, etc... | bptato | 2023-06-20 | 1 | -2/+4 | |
| | ||||||
* | Reject fetch promise on network error | bptato | 2023-06-19 | 2 | -5/+4 | |
| | | | | Instead of setting the non-standard res variable. | |||||
* | Get rid of the .jserr pragma | bptato | 2023-06-19 | 2 | -152/+174 | |
| | ||||||
* | Rework JS exception system | bptato | 2023-06-19 | 1 | -0/+2 | |
| | | | | | Now we use Result for passing exceptions to JS. As a result, we can finally get rid of the .jserr pragma. | |||||
* | input size as presentational hint | bptato | 2023-06-18 | 1 | -0/+4 | |
| | ||||||
* | Cleanups & bug fixes involving promises | bptato | 2023-06-15 | 2 | -12/+19 | |
| | | | | | Now a promise returning nil doesn't just leave the rest of the then chain hanging. Hooray. | |||||
* | Fix various layout bugs, prepare for image support | bptato | 2023-06-12 | 1 | -5/+29 | |
| | ||||||
* | Remove JSObject again, add File API constructor | bptato | 2023-06-08 | 1 | -7/+7 | |
| | ||||||
* | Add support for width, height media query | bptato | 2023-06-07 | 2 | -1/+5 | |
| | ||||||
* | Refactor bitmap, add png color modes | bptato | 2023-06-06 | 1 | -0/+2 | |
| | | | | | Now PNG encoding/decoding, painting, etc. are done in separate files. Plus we support all color modes except indexed color. | |||||
* | Add support for canvas and multipart | bptato | 2023-06-05 | 2 | -79/+495 | |
| | | | | | | | | | | | | | | | Quite incomplete canvas implementation. Crucially, the layout engine can't do much with whatever is drawn because it doesn't support images yet. I've re-introduced multipart as well, with the FormData API. For the append function I've also introduced a hack to the JS binding generator that allows requesting the JSContext pointer in nim procs. Really I should just fix the union generator thing and add support for overloading. In conclusion, for now the only thing canvas can be used for is exporting it as PNG and uploading it somewhere. Also, we now have PNG encoding and decoding too. (Now if only we had sixels as well...) | |||||
* | Add some console functions to DOM | bptato | 2023-06-01 | 1 | -0/+17 | |
| | | | | Mainly to avoid errors | |||||
* | Add module loading to client | bptato | 2023-06-01 | 1 | -1/+1 | |
| | | | | Files only, for now. | |||||
* | Add setTimeout, setInterval to window | bptato | 2023-06-01 | 2 | -16/+56 | |
| | ||||||
* | Rewrite new Request binding | bptato | 2023-05-21 | 1 | -1/+4 | |
| | | | | | Still far from perfect, but now at least it has a bit more to do with what the standard mandates. |