This is handled in the 'navigate' algorithm in the specification.
Source-Repo: https://github.com/servo/servo
Source-Revision: e44ae6404fd25ed51a543141ca8f9cc2a3443817
There were two bugs here: (1) relative position applied to
scanned/unscanned text fragments independently of the container element
that applied that relative position, causing double-counting; (2)
relative position applied to inline block fragments independently of the
wrapped block itself, causing double-counting.
Closes#7067.
r? @mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 0bfde427e6a77d09d75b5a6e228c7b25f063395f
I'm not sure if I have to implement some test for a new document method. As I remember there were tests for document methods, is it changed now? Where should I add tests?
Source-Repo: https://github.com/servo/servo
Source-Revision: 0c5158587d997c69ce3c76062b369b8f0714306e
This patch makes Servo unconditionally strip whitespace before text run
scanning (assuming that the `white-space` property allows it). Whitespace
stripping during reflow is now only used for handling whitespace at the ends of
lines; reflow now never attempts to handle ignorable whitespace.
Many CSS tests pass now. There are some new failures, however.
The following reference tests now fail due to a pre-existing bug whereby
whitespace is used to calculate the position of inline hypothetical boxes for
elements with `display: inline; position: absolute`:
* `absolute-replaced-height-036.htm`
* `vertical-align-sub-001.htm`
* `vertical-align-super-001.htm`
The following reference tests fail due to a pre-existing bug whereby we don't
handle `font-size: 0` properly in inline reflow:
* `font-size-zero-1.htm`
* `font-size-zero-2.htm`
The following reference test fails due to the fact that it relied on our
incorrect insertion of whitespace to make room for the black background:
* `inline-formatting-context-007.htm`
r? @mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 7dc83e7820df43b1b617ae8dcf661398b0bd0842
Snapping the top-left and bottom-right corners separately can cause a rectangle to change size or even become empty when offset by a subpixel amount. Instead, this patch snaps the top-left corner, then snaps the size to a whole pixel amount, so any rectangle of a given original size will always have the same snapped size.
Fixes#7152. r? @pcwalton or @glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: 9c528c6382ee4355f42824a7caad217c4eb8a3b0
The new test failure is because the color stop has a value of 'currentColor' which we don't support yet.
Source-Repo: https://github.com/servo/servo
Source-Revision: d9925f5f929a951f5e2545de0d5c36ee790293e1
Known issues:
* Display list optimization can sometimes optimize out elements that
should be shown. This affects the Enyo demo.
* The `overflow: scroll` container doesn't clip the inner layer properly
when borders, border radius, etc. are present.
* `overflow-x: scroll` and `overflow-y: scroll` don't work individually;
elements are scrolled all at once.
Note that multiple layers per stacking context aren't needed for the Enyo demo; rather the issue is that the height of the main area is being calculated incorrectly. (It looks like JS is measuring the height and poking in an explicit value that is too tall.)
r? @glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: b05b02e11fb849e1f0153d009d8fcf0501ace8dc
Fixes#4331. I've tested this out on desktop and Android on "the usual" sites (reddit, cnn, github, wikipedia, etc.).
r? @mbrubeck @metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 049cee1b5eaba598b71620fb842662c137f7f92d
The purpose of this is to fix how objects were previously evaluated in
the developer tools.
- Before this, evaluating an object such as the `window` would `panic!`
- After this, evaluating an object such as the `window` outputs `[object
Window]`
A few things to note:
- This commit contains `unsafe` code.
- This does not contain a test because the developer tools cannot be properly tested until #5971 lands.
Source-Repo: https://github.com/servo/servo
Source-Revision: f77973c903a3e08067feed3ba39cff3c6bf8ac11
This reverts commit c315404db80c92a695531b0aa4bcf61c125a3bff, reversing
changes made to b00583bd4e7169a6b952633df718268904f2bd0c.
Source-Repo: https://github.com/servo/servo
Source-Revision: 47d6d958f58f5011742a18abcdd5a76bf4390966
Fixes overflowing highlight in the side menu on GitHub.
r? @glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: b00583bd4e7169a6b952633df718268904f2bd0c
Large improvement in page load times, especially in debug builds.
r? @jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d4d4d6dc013ee322282de7ec0effa54c8827a775
Fixes overflowing tables on Wikipedia.
This infrastructure should form the basis of our fix for inline layout
of fragments that don't themselves constitute valid split points. That
will require some more work, however.
r? @mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: d07cde5efccfdd1aee4456a85e51ec0d0613c4e4
This resolves#7044 which involved callbacks in a queue not receiving the same timestamp despite the specification saying they should. An extra test was added to verify the correct behavior.
Source-Repo: https://github.com/servo/servo
Source-Revision: d36a10023a9d37a24e2eb182918d790a4b8f55e3
Add support for user stylesheets, and provide one to tests with an `@font-face` rule for it.
Fix#6195.
Many previously-failing tests now pass, and a few previously-passing now fail.
Among the latter, `font-family-013.htm` and `fonts-013.htm` are testing that the Ahem font is not used for characters it doesn’t have a glyph for. They were passing because Ahem was not available at all, and now fail because we don’t implement font fallback correctly.
The others also use Ahem, but I don’t understand yet what’s going on exactly.
Source-Repo: https://github.com/servo/servo
Source-Revision: 08987e3eda370e3eb00876c7f5efdebf3ba0265a
This excludes:
* tenacious, as it has not yet been updated to the current rustc
(Manishearth/rust-tenacious#6);
* ipc-channel, as it doesn't build on linux upstream.
Source-Repo: https://github.com/servo/servo
Source-Revision: 49cbcc97ed56724944ef713d4edb7a2df3934500
Pick up the fix for https://github.com/servo/rust-cssparser/issues/76
`*.ini` files removal based on running `./mach test-css tests/wpt/css-tests/css21_dev/html4/*color*`, I didn’t run the whole test suite.
r? @larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 9bd5291aea24f5bc2780c864d207ce1496f8525f