| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
|
| |
It necessarily removes the config.images check from codec access, which
I'm not quite happy about, so I've added a check to the DOM instead.
(TODO: maybe pager should just dynamically grant codec access as a
capability instead? but maybe that's even more error prone...)
|
|
|
|
|
|
| |
* replace weird cursor position representation
* add cursorTop, cursorMiddle, cursorBottom, scrollDown, scrollUp
* expose fromy, cursory to JS
|
|
|
|
|
| |
It is documented in chame that parentNode may be nil, and indeed, it is
nil in some cases.
|
|
|
|
|
|
| |
Turns out the generics weren't really needed in the first place.
Also, StyledNode is now 16 bytes smaller.
|
| |
|
|
|
|
| |
canceled was not being set, because we jumped out of the loop too early.
|
| |
|
| |
|
|
|
|
| |
maybe I'll get it right one of these days
|
| |
|
| |
|
| |
|
|
|
|
| |
just in case
|
|
|
|
|
| |
The rowspan filler must get a smaller colspan if its first cells are
occupied by another cell with a colspan > 1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was a bit annoying because it triggered the popup warning on
cursorNextLink -> click with form buttons (as the square brackets around
[button] are implemented with ::before/::after.)
Notably, this also removes the visibility check from isClickable.
I suspect there was a good reason why I added it, but I can't remember
why, and it's incompatible with what desktop browsers do on:
<a href="https://asdf.com" style="visibility: hidden">
<div style="visibility: visible">
test
</div>
</div>
So if it's ever added back, then this case should be respected too.
|
|
|
|
|
| |
findPrevLink is still an unreadable mess, but at least findNextLink
looks alright now.
|
| |
|
|
|
|
| |
this was causing images to disappear sometimes
|
| |
|
| |
|
|
|
|
|
| |
* get rid of hash table
* only do a single port lookup every time the port changes
|
|
|
|
|
|
|
|
|
| |
wait isn't this exponential
-- apparently not, at least not with the DOM builder.
(however it is if JS builds the DOM out of place. what can you do, at
least it works now.)
|
|
|
|
| |
kill qmark hack, plus refactor the form data parser/serializer
|
| |
|
|
|
|
| |
for consistency
|
| |
|
|
|
|
|
|
|
| |
most of it has already been moved to monoucha, and the rest fits better
in other directories.
also, move urimethodmap to config
|
|
|
|
|
|
|
| |
far from perfect, but it's something.
(ideally, we should store enums in a bitmap instead of allocating a
GC'ed property for each of them.)
|
| |
|
| |
|
|
|
|
| |
like line height, this caused more trouble than it was worth
|
|
|
|
|
|
|
|
|
| |
* fix incorrect :- behavior
* merge non-standard '${%VARIABLE}' syntax with regular syntax; now all
internal variables are exported to the environment, so the behavior
should be equivalent.
* handle terminal symbol appropriately in all states
* deny numeric curly substitutions
|
|
|
|
|
|
|
| |
Turns out it's more useful to have env vars in the variable than to
allow incomplete path names.
Also, fix the disappearing backslash issue in docs.
|
|
|
|
|
| |
also, fix a bug in the chapath parser so that param expansion actually
works
|
|
|
|
| |
I swear this feature is cursed
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
23beebe6 introduced a regression that broke gotoAnchor. This fixes that,
plus a couple other long-standing gotoAnchor bugs:
* If no anchor is found, do not dupe the buffer.
Desktop browsers still add a history entry, while w3m prints an
error. I've copied the latter because it makes more sense as a user,
but this will have to be refined for the navigation API at some point.
* If the anchor *is* found, then always jump to it, even if it's not
visible.
This was a limitation of relying on the line array, so now we rely on
the box tree instead. (Sooner or later, the former must go anyway.)
Also, fix `U' reload not restoring the position (hopefully this time for
good).
|
| |
|
|
|
|
|
|
|
| |
* query, fragment are now strings, not options
* get rid of Host, Path types, now hostname/pathname are strings
* fix ipv4 parsing error case
* in file protocol, fix URL for dirlist without slash with a redirection
|
|
|
|
|
| |
stopgap measure until I think of a more flexible mouse configuration
method
|
| |
|
|
|
|
| |
also, default link color is now blue for light terminal backgrounds
|
|
|
|
| |
as much as I wish it weren't, layout *is* css.
|
|
|
|
|
|
|
|
| |
* fix cloneNode not cloning id/name atoms
* fix HTMLOptionsCollection named item getter
* fix HTMLCollection named item getter not refreshing snapshot
* support named item getter for form
* add basic createEvent
|
|
|
|
| |
seems to work ok
|
|
|
|
|
| |
fixes a bug where only setting max-height and width would not re-scale
the image
|
|
|
|
|
| |
negative z-index and inline positioning are still not respected, but
better than nothing I guess.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In CSS, `position: fixed' either a) moves the box on scroll (with
`@media screen'), or b) repeats the box on every page (with
`@media print').
a) would completely mess up our document model, and even if it didn't,
the renderer couldn't handle a redraw on every single scroll.
b) sounds better, but still doesn't work because it's incompatible with
`@media screen' semantics. e.g. in a) I can read text despite any banner
on the bottom of the screen, because the box moves when I scroll, but
in b), the same box will obscure some text on every single page.
So instead, make the `position: fixed' containing box
width: max(:root.width, 100vw); height: max(:root.height, 100vh)).
This is completely non-standard, but at least both TOC-like fixed boxes
*and* banners are placed somewhere that makes some sense.
|
|
|
|
|
|
|
|
| |
* fix min-width, max-width, etc. not being accounted for properly on the
main axis
* fix fit-content sizing being overridden for flex items
* fix baseline not being set
* somewhat unrelated: fix firstBaseline not being set for block boxes
|