| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For now, the skeleton remains in layout. Eventually it should be
lazily constructed during the actual layout pass (thereby making layout
"single-pass" (sometimes :p))
The end goal is to do it all in styledNode.children, so that caching can
be as simple as "next box = find next matching cached box ?? make new".
This does mean that the internal structure of cached boxes will always
have to be reconstructed, but I don't see a better way. (I suppose it
still remains possible to optimize out the unnecessary layout pass when
only a repaint is needed (e.g. color change) by modifying computed
values in-place.)
|
|
|
|
|
| |
The marker placement in that test is wrong, but that isn't really a
result of this change.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
* remove inlineGroup - it was completely pointless now, and was the
cause of some whitespace collapsing bugs
* fix a float bug made visible by the above change
* fix non-standard list item counter behavior
|
|
|
|
| |
just a waste of space
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Setting the width to max-content was supposed to be an optimization,
but it seems max-content has some issues when interacting with floats.
Arguably this is just hiding the bug, but my attempt to fix max-content
was not successful...
(That is to say, I suspect floats still behave strangely in tables.)
|
| |
|
| |
|
|
|
|
| |
fromJS is enough
|
|
|
|
|
|
| |
Starting to think that the eventual ORC Monoucha port should just
restrict registerType to RootObj-derived objects.
(Then we could always use the type field to dispatch on incref/decref.)
|
|
|
|
|
|
|
|
| |
* do not trigger change event if selection did not change
* do not destroy old selection on option insertion steps
* position select popup correctly
* reflectors for disabled attribute
* immediately redraw container when select disappears
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* normalize flow baseline computation
* fix various margin collapsing bugs
* eliminate inlineStack
* eliminate push*
* derive BlockBox and InlineBox from CSSBox
This removes a pointer from BlockBox, and adds a pointer to both
BlockBox and InlineBox (type field). A net loss, but it makes the code
more manageable.
Plus, inline groups now need one less allocation, so overall it's not
that bad.
|
|
|
|
| |
unsure about the utility of this, but why not
|
| |
|
|
|
|
|
|
|
|
| |
Significantly more efficient in long running commands (as the context
switch is gone).
For many commands in quick succession... it replaces the fcntl with
a tcsetattr, so I guess it's the same?
|
|
|
|
|
|
|
|
|
|
| |
* fix iterator assertion failing if finalizer del's after incl
* fix strange mismatch in id
* fix missing HTMLOptionsCollection finalizer
* optimize refreshCollection
* fix root liveCollections not being updated by the finalizer
Now it shouldn't crash pages anymore.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, nim_finalize_for_js only called a finalizer if the opaque
Nim object already had a corresponding JSValue. This was probably an
oversight (at least I had no idea this worked this way), so now we
always call the finalizer.
The upshot is that this means that finalizers can now receive a nil
runtime in this case, so finalizers not prepared for this might break.
The solution is to either explicitly nil-check the runtime, or to ensure
that such objects always get converted to a JSValue first.
|
|
|
|
| |
+ some strict defs
|
|
|
|
|
|
| |
maybe InputData should just be a Response
(really it should be a ReadableStream - if we had that...)
|
| |
|
|
|
|
|
|
|
| |
startsWithNumber was a poorly copied version of the standard algorithm,
which, as it turns out, is largely redundant.
So I removed most of it and inlined the rest.
|
|
|
|
|
| |
They can be especially distracting when the rounding error fluctuates
between items.
|
| |
|
|
|
|
| |
Now select[multiple] options have the same coloring as w3m.
|
|
|
|
|
|
|
|
|
|
|
| |
Having to initLine after every block hurts... I've added a mechanism to
at least eliminate cleared floats, but I wish we just didn't init the
line :/
(I tried making it lazy, but I couldn't get it to work elegantly.)
I've also added some comments about flow, and moved around code so that
related layouts are mostly in the same place.
|
| |
|
| |
|
|
|
|
| |
Not only was it wrong until now, it was also non-deterministic...
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* For boxes, we now use the box in InlineBox.
* For images, wrap bmp in an InlineImage type that stores offset + size.
* For text, wrap strings into TextRun objects (an offset + a string).
(Ideally, TextRuns shouldn't copy at all, but that's a problem for
another time.)
|
|
|
|
|
| |
Eliminates two superfluous line box alignment passes, and fixes some
vertical-align bugs.
|
|
|
|
| |
The content should clear.
|