| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
It isn't really limited to config. It just happens to be in
XDG_CONFIG_HOME because XDG basedirs suck.
(W3M_DIR works similarly.)
|
|
|
|
| |
Respects autofocus.
|
| |
|
|
|
|
|
| |
It's a fair bit more accurate now on flex-heavy pages.
Image sizing remains a broken mess.
|
| |
|
|
|
|
| |
Also fixes the -O option.
|
|
|
|
| |
toJS is generally more efficient
|
|
|
|
| |
it should have been a function
|
|
|
|
|
|
|
|
|
|
| |
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?)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix luwrap comparison function
* strip high unicode controls in term/pager
* use wcwidth in dirlist2html
* remove combining category from strwidth
* remove unused "disallowed" field from lineedit
My initial goal with switching to wcwidth in dirlist2html was just to
get rid of the outdated combining map in charwidth_gen. Then I realized
that layout will normalize those out anyway, so we don't actually have
to deal with them anywhere.
Also, I found a few bugs in the process; high unicode control chars not
being stripped out was a particularly bad one, as it allows for pages to
mess up the terminal output. (Easiest way to replicate: just open a
random binary file without this patch.)
|
|
|
|
|
| |
It's still missing a "color visited links" feature, but it's better
than nothing.
|
|
|
|
|
| |
* accept quoted-string
* quote values in setContentTypeAttr
|
|
|
|
|
| |
It is still wrong in case the table is too small, but at least it fixes
the regression from 0971ad85.
|
|
|
|
| |
what was I expecting
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Welp, turns out I was overthinking it. CSS does not support inline
position: absolute at all, it just blockifies.
That does leave us with the question of "why does inline-block behave
differently than block?" Especially because both in Gecko and Blink,
getComputedStyle for absolute inline-blocks gives me "block", not
"inline-block", and yet there is the same difference in rendering when I
change the CSS.
I first thought it's a quirks mode issue, but standards mode doesn't
affect it. Wat.
|
|
|
|
|
|
| |
It was named "fragment" mainly because I added it back when there was
still a separate InlineBox type and I needed another name.
Now InlineBox is gone, and I'm tired of typing fragment.
|
|
|
|
|
|
|
| |
* isValidEscape was fairly pointless, and occasionally used incorrectly.
* "starts with an ident sequence" is normally called on the next 3
codepoints; on the one occasion where it isn't, just hardcode the dash
case.
|
| |
|
|
|
|
|
|
|
| |
this is exactly why I shimmed in unsafeAddr, but the compiler isn't
cooperating... :(
well, it seems to work with auto.
|
|
|
|
|
|
|
|
| |
* fix clip for image
* switch back img's display to inline
* fix image width calculation without specified width/height
I'm not 100% sure if this is correct, but it certainly looks better.
|
| |
|
|
|
|
| |
doing it manually is too error prone
|
| |
|
|
|
|
| |
did I ever test this?
|
| |
|
| |
|
|
|
|
| |
this broke saveImage
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Overflow pretty much requires scrollbars, but those wouldn't work in
dump mode, plus of course they would be a pain to implement. So as a
simple alternative:
* overflow: hidden, clip works as per spec.
* overflow: auto, overlay, scroll invert the intrinsic minimum size
clamping logic instead of adding a scrollbar.
What this concretely means, is that this
<pre style="overflow: scroll; height: 1em">
test
test
test
</pre>
will, instead of creating a scroll container, just override the
specified height.
This hack works surprisingly well, because CSS pretty much requires
setting height on scroll containers, so authors aren't incentivized to
set height on the parent container too (because the contents are already
sized appropriately).
One issue left is how to deal with overflow: hidden ancestors. For now,
I've made it so that it can spill for overflow-x, and always clips
on overflow-y, because it's much less likely to bleed into other
text horizontally than vertically. But there is definitely room
for improvement, e.g. we could track space requested by scrolling
children and expand parent boxes based on that.
|
|
|
|
|
|
|
|
| |
Inspired by Dillo. (Just the movement mechanism; Dillo doesn't hide the
context menu on double click, but we still do.)
Also, we now disable highlighting of menu items when the mouse is
hovering outside.
|
|
|
|
|
|
|
| |
I didn't get it right :(
true is the default return value, and true + continue should resolve
to false.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a bit tricky, but it seems to work. It optimizes selectors in
the line of "div :hover" (note the space.)
Previously such selectors would add a hover dependency to pretty much
every element, and trigger a re-style for all elements that changed
their hover status. After this patch, when :hover and friends would
return false, they first try to match the element *without* pseudo
selectors, and only add their dependencies if the element would match
like that.
(Notably, it only does this for when :hover is false. Probably it would
help somewhat if we checked for the opposite with true too, but I'm not
sure how much.
For now, I'll keep it like this, and maybe try to further optimize it
later.)
|
| |
|
|
|
|
|
| |
Always override Expires with Max-Age, but never the other way (as per
spec.)
|
|
|
|
|
| |
Now we use the node index to optimize next/subsequent sibling
combinators.
|
|
|
|
|
|
| |
I want to use it in the UA sheet, so the loop won't cut it.
(Also fix a parsing bug that prevented "of" from working.)
|
| |
|
|
|
|
|
| |
Whether this works or not still depends on many variables, but it
should be enough in most cases.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Necessary for flex. Previously we just used the actual height, but that
didn't account for boxes that size themselves depending on the available
height (mainly just images for now).
This also irons out intrinsic min width calculation somewhat, squashing
several bugs.
I hope it works well. It is a significant change in size calculation,
so maybe there are still new bugs lurking.
|
|
|
|
| |
Lets us skip a couple pointless multiplications/divisions during layout.
|
|
|
|
|
| |
The test case attached is undefined in CSS 2.1, but css-sizing-3
wants us to just ignore the width property (I think).
|
|
|
|
|
|
|
| |
this is necessary too, now that I think of it
(well, table caption sizing is still half-broken, but that's a problem
for another day...)
|
| |
|
|
|
|
|
| |
If the contents are larger than the specified cell height, then it is
simply ignored.
|