`CGAbstractMethod` takes a couple boolean parameters, among others:
* `extern`: will mark the method as `unsafe` and `extern`
* `unsafe`: will wrap the method body in an `unsafe` block
Passing both as `True` should not mark it as `unsafe` twice.
Example from a generated `HTMLCollectionBinding.rs`:
Before:
```
unsafe extern fn get_length(..) -> u8 {
unsafe {
// code here
}
}
```
After
```
unsafe extern fn get_length(..) -> u8 {
// code here
}
```
Source-Repo: https://github.com/servo/servo
Source-Revision: 289decb064b44937f570fdc299de9af961296dd6
This is sufficient to make the profiler tab show up in Firefox's devtools.
Source-Repo: https://github.com/servo/servo
Source-Revision: 07716780fc805aea63285337ee15e9e56acb47c7
Also adds HeapSizeOf implementations/derive for some types. I've used "Cannot calculate Heap size" as a reason everywhere, because my imagination is rather limited. If you'd like me to change this message for specific types, please write something like this: "Trusted - Cannot calculate Heap size for Trusted" so that it would be easier for me to replace them through a script :)
Source-Repo: https://github.com/servo/servo
Source-Revision: a03616f379c255cc6c9b6e1d04dd7d98bd9926ce
Make the structure for the `stretchiness` and `boldness` methods more
similar
Source-Repo: https://github.com/servo/servo
Source-Revision: 55a9abdf358dd8f05b06849f0d39b4e8ca8f6ba3
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
The failing `float-applies-to-*` CSS 2.1 tests never really should have
been passing in the first place; they depend on floats inside
fixed-layout tables working properly, which they don't.
Closes#6078.
Closes#6709.
Closes#6858.
r? @mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 1ddef2997abf51716835017225b282f8a9077cce
Avoids a needless wrapped line in the repository name on GitHub.
r? @mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: da06c2dda096bd5e2a8959c102c315f9838ed465
Modifies how we behave in the case that something attempts to communicate with the devtools server improperly. This includes...
- Invalid encoding (Non `UTF8`) of the packet length / error parsing / none specified
- JSON encoding error (such as a `Parser::SyntaxError` or a `Parser::IoError`)
Happy to make changes if anyone has an issue with this or feels another way is more idiomatic!
Source-Repo: https://github.com/servo/servo
Source-Revision: 889ef3aef02144ce797266e99e0cdb66ea38871a
2a7f262b7df8761261a0fa618394f4e991733a5e was unsufficient for the case where
the interleaved output was actually on stderr rather than stdout, such as
output from the error macro.
Source-Repo: https://github.com/servo/servo
Source-Revision: 522ebe7a3bd55d4572b670fa32ffc9979b3f7a74
Fix for #6787. I left the commits split up for ease of review, happy to squash when this gets accepted.
Source-Repo: https://github.com/servo/servo
Source-Revision: 172f046688c600c9f51f8db0380e399f6372fe4d
If someone were to write:
def hello() :
print "hello world"
flake8 would warn:
stdin:54:45: E203 whitespace before ':'
Normally there are only three colons in a flake8 error message, but this
one has four, which causes issue with this line:
_, line_num, _, message = error.split(":")
...causing this error:
ValueError: too many values to unpack
This commit updates the `str.split` call to utilize the `maxsplit`
parameter to prevent this error from occurring.
Source-Repo: https://github.com/servo/servo
Source-Revision: 729e003c5d954694e3fa6fd2b72702515ef94c6c
They were introduced in 35ba73112395fe97599b8661729b02cedea7609a.
Source-Repo: https://github.com/servo/servo
Source-Revision: be8798b73a28b1ce8301a7e21f3547a1d06cd59a
Fix for issue #6768.
Merge common fields of ReadData and BlobBody to avoid passing redundant information to functions.
Source-Repo: https://github.com/servo/servo
Source-Revision: ac533b146660922d7d4e6f1836f189a63334df65
Fixes#6818. The test still fails because of #6978.
r? @pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: b9f00190e1364fb1b9ab8dc089593910c3e34d41
Fixes jumpiness on many pages; e.g. the WPT results pages.
For some reason, this would not reproduce with an automated test.
r? @mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 94cd76df61c1ea14199c9683603b548377aced3b
…s for frame treese in script tasks.
This underreports by a significant amount, since only Document, Window and CharacterData (ie. text) nodes are fully represented. That being said, every HTML element in the tree is measured, but only counted as a Node. It's easy to improve this, it just requires adding the appropriate HeapSizeOf derives and increasing the granularity of `measure_memory_for_eventtarget`. google.com shows a dom-tree value of 0.24 MB for me at the moment.
r? @nnethercote
Source-Repo: https://github.com/servo/servo
Source-Revision: 84e25befdd97cf74fb00707dbe150d59d980e977
There are some bad module-level doc comments in `flow.rs` which has directly affected [Servo's docs](http://doc.servo.org/layout/flow/index.html) and so, this fixes that. Oh, and #6728 is having a hard time getting closed and so I've also removed the `FIXME` comment related to it.
Source-Repo: https://github.com/servo/servo
Source-Revision: ae3aadd6567e15b5fb4da6c85fc4cdba9fcc2eb2
We use alert() to communicate test results to wptrunner. Unfortunately,
sometimes the alert output is interleaved with other output on stdout,
causing wptrunner to classify the test result as a timeout. I hope this will
avoid that scenario.
Source-Repo: https://github.com/servo/servo
Source-Revision: 86476804cac668133b6964c8f551918163aa66d7
It's not possible to correctly determine during the css cascade whether the container height
is explicitly specified. Additionally, the spec https://drafts.csswg.org/css2/visudet.html#the-height-property says this should affect the *used* height, rather than the computed height.
This significantly improves the layout in #6643.
Source-Repo: https://github.com/servo/servo
Source-Revision: 028707f5cd3263fd1476669207f67d5b9d5d4806
Tying transitions to the DOM node avoids quadratic complexity when
updating them.
Finishing transitions instantly when styles are updated makes our
behavior more correct.
r? @glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: ffe4bd25a495efd672986f090150b165811b6708
Resolves#6703.
Done:
* [x] When STS headers received, add the host to the HSTS list
Todo:
* [ ] Persist the in-memory list so that it's reloaded on the next browser boot
* [ ] Add tests to `http_loader::load` - it's pretty well completely untested right now, but it's a bit gnarly to untangle and without mocking, it's hard to deal with the dependency on making a real network request. Writing a mock request object should be doable for testing, but there's a lot going on in the function right now.
Source-Repo: https://github.com/servo/servo
Source-Revision: f1c26c59f177570a697c420308fb89d9773c7468
Transitions make the reasoning in the comment in the relevant sections
not true.
r? @SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 0c6e271cd3d5e2a7f141cae811d92b8fd6370b18
32-bit floats are not enough to hold timestamps since the epoch and
result in jank.
r? @metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 92cbb9368471d12f0d5492abd7e04b16df549366
left redirected to top, and padding redirected to margin.
r? @mbrubeck (or whoever)
Source-Repo: https://github.com/servo/servo
Source-Revision: 1b06031cccfac2d8625dce95f6acc1bff84dde83
For now, this just gives some purpose to the abandoned receiver and later selects over the two receivers (for #6767). (oh wait, forgot to check the local build - there are still a few errors)...
Source-Repo: https://github.com/servo/servo
Source-Revision: effb17b3368769baaf5247908b26b7f0dd370ea3
Need to update to new string-cache first, which I think requires a rustup?
Source-Repo: https://github.com/servo/servo
Source-Revision: 9a2f28ae33efd5216b0e1933bf186ad2fadba137
This change makes Servo use serialized messages over IPC channels for resource loading. The goal is to make it easier to make Servo multiprocess in the future. This patch does not make Servo multiprocess now; there are many other channels that need to be changed to IPC before that can happen. It does introduce a dependency on https://github.com/serde-rs/serde and https://github.com/pcwalton/ipc-channel for the first time.
At the moment, `ipc-channel` uses JSON for serialization. This is because serde does not yet have official support for bincode. When serde gains support for bincode, I'll switch to that. For now, however, the JSON encoding and decoding will constitute a significant performance regression in resource loading.
To avoid having to send boxed `AsyncResponseTarget` trait objects across process boundaries, this series of commits changes `AsyncResponseTarget` to wrap a sender only. It is then the client's responsibility to spawn a thread to proxy calls from that sender to the consumer of the resource data. This only had to be done in a few places. In the future, we may want to collapse those threads into one per process to reduce overhead. (It is impossible to continue to use `AsyncResponseTarget` as a boxed trait object across processes, regardless of how much work is done on `ipc-channel`. Vtables are fundamentally incompatible with IPC across mutually untrusting processes.)
In general, I was pretty pleased with how this turned out. The main changes are adding serialization functionality to various objects that `serde` does not know how to serialize natively—the most complicated being Hyper objects—and reworking `AsyncResponseTarget`. The overall structure of the code is unchanged, and other than `AsyncResponseTarget` no functionality was lost in moving to serialization and IPC.
r? @jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 2eb122f394651232abd683fc576a5c4288bf277f
StrExt::slice_chars is deprecated and will be removed in Rust. This
lifts the implementation from Rust libstd and puts it in util::str.
This fixes a bunch of deprecation warnings in Servo.
Source-Repo: https://github.com/servo/servo
Source-Revision: a54404c92180b839d2cf089d9ec9a6afe8bd5ba3
This patch set introduces the `--multiprocess` (`-M`) switch. Right now, all it does it cause display lists to be serialized, but eventually it will cause actual processes to be spawned.
r? @metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: c4480b5d0309acc7f154166b91992f73a85de57f
That's the first version with the correct getrandom syscall number
for aarch64-unknown-linux-gnu.
Source-Repo: https://github.com/servo/servo
Source-Revision: ca9f9226b092f6f9349aecd53bf0b36fb5b6948e
… as it isn't painted after first layout comes in.
r? @glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: 1fc50c6ccf98f3df3f47f5910a456a1fb88b73db
This lets Servo use one version of bitflags for all dependencies.
r? @larsbergstrom or @Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: df722ec1de957b0d6a0ef035c0c30aba0dade2cc
The allocation APIs require that the alignment is a power-of-two;
meaning 1 is the "I don't care" alignment, not 0.
Source-Repo: https://github.com/servo/servo
Source-Revision: 3792bd7611df7343c1bad6119a07bd14296c9ba6
Credits for Mike Blumenkrantz (@zmike), I just rebased against trunk and
fixed the url serialization.
Fixes#6178.
Source-Repo: https://github.com/servo/servo
Source-Revision: 82e476fd07564f2822a5af1f397751027ddf7258
Now GLRasteizationContexts require having an active GLContext. This will
allow preserving GLContexts and possibly framebuffers between
rasterization sessions, improving GL Rasterization performance.
Linux Before:
+ Painting Per Tile 4.5559 4.3392 1.6920 18.5548 74
Painting 170.1554 151.8353 0.0008 350.1093 28
Linux After:
+ Painting Per Tile 3.8726 3.1299 1.5848 12.6732 62
Painting 13.5480 10.8947 0.0029 39.1198 23
Source-Repo: https://github.com/servo/servo
Source-Revision: ccd341cc68f034df675ffaf80673a1bece078e08
Continued from #6536
The current implementations of `ChildNode::before` and
`ChildNode::after` do not match the WHATWG spec. This commit updates the
implementations to match the spec.
Our current implementation of `ChildNode::after` passes all the WPT
tests. So I made sure to add a regression test that failed with the
current implementation. There are a few other unit tests I added
to exhaust other corner cases I encountered.
Source-Repo: https://github.com/servo/servo
Source-Revision: 5873a5cf20b3db0fce59980b2a6b0b7b9da1e737
This prevents them from piling up endlessly if the JS
`requestAnimationFrame()` callback takes a long time to complete.
r? @jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 12c46ddd6131533454e353fa8fdd8cb4b517ffd0
Missing this caused
src/gpu/gl/unix/SkNativeGLContext_unix.cpp:10:20:
fatal error: GL/glu.h: No such file or directory
on my new laptop.
Source-Repo: https://github.com/servo/servo
Source-Revision: cc98026487514889ace9d7fbacd1542fc963a1aa
This is used for two memory reporting improvements.
- It's used to distinguish "explicit" memory reports from others. This
mirrors the same categorization that is used in Firefox, and gives a single
tree that's the best place to look. It replaces the "pages" tree which
was always intended to be a temporary stand-in for "explicit".
- It's used to computed "heap-unclassified" values for both the jemalloc
and system heaps, both of which are placed into the "explicit" tree.
Example output:
```
| 114.99 MiB -- explicit
| 52.34 MiB -- jemalloc-heap-unclassified
| 46.14 MiB -- system-heap-unclassified
| 14.95 MiB -- url(file:///home/njn/moz/servo2/../servo-static-suite/wikipe
dia/Guardians%20of%20the%20Galaxy%20(film)%20-%20Wikipedia,%20the%20free%20encyc
lopedia.html)
| 7.32 MiB -- js
| 3.07 MiB -- malloc-heap
| 3.00 MiB -- gc-heap
| 2.49 MiB -- used
| 0.34 MiB -- decommitted
| 0.09 MiB -- unused
| 0.09 MiB -- admin
| 1.25 MiB -- non-heap
| 1.36 MiB -- layout-worker-3-local-context
| 1.34 MiB -- layout-worker-0-local-context
| 1.24 MiB -- layout-worker-1-local-context
| 1.24 MiB -- layout-worker-4-local-context
| 1.16 MiB -- layout-worker-2-local-context
| 0.89 MiB -- layout-worker-5-local-context
| 0.38 MiB -- layout-task
| 0.31 MiB -- display-list
| 0.07 MiB -- local-context
| 1.56 MiB -- compositor-task
| 0.78 MiB -- surface-map
| 0.78 MiB -- layer-tree
```
The heap-unclassified values dominate the "explicit" tree because reporter
coverage is still quite poor.
Source-Repo: https://github.com/servo/servo
Source-Revision: bff5e325a89ab6621a049ac55c1da66e901c776c
It's not quite done but can probably be reviewed anyway.
I still need to finish up a few of the ToCss impls, I just got lazy and wanted to make sure things worked.
The computation of the used values is definitely not right, I'm going to investigate that.
Source-Repo: https://github.com/servo/servo
Source-Revision: acbca7b3aaf18866f7a1a79d9684149897bf4305
Fix for #6754.
cc @jdm – I believe this is all that's required for the fix, but until I get a better sense of #6813, I'm unsure of the best way to test this.
Source-Repo: https://github.com/servo/servo
Source-Revision: 8b7120012a5f5eed71236fcf5d546ae76837ea11
The unsafety was fixed as part of the SpiderMonkey upgrade; this removes the
now unused annotation.
Source-Repo: https://github.com/servo/servo
Source-Revision: 7adc336aaacfb5e544a9c8c4e0387afa457e5d72
The main work is in the the rust-clipboard library, this PR updates Cargo.lock and adds plumbing.
0337e48b3f
Source-Repo: https://github.com/servo/servo
Source-Revision: 28e163d6c44f1d85fbaea7f236da40972b6a63b1
Otherwise, we have to wait for the next vsync. This was capping the
framerate of the particles demo at 30 FPS in most cases.
r? @glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: 416931f4be43826d3b2a96905c22f626c88b603c
This makes hit tests work on stacking contexts with transforms.
Ref #6643.
Source-Repo: https://github.com/servo/servo
Source-Revision: fff104bb41dea0ba64fdca312de7b4c0d76277c8
This simplifies an upcoming PR to support serializing transform values for css style declarations.
Related to issue #6643.
Source-Repo: https://github.com/servo/servo
Source-Revision: a409699a0bf608d8c830ce37ec54d19e51e4ed05
This isn't done, but contains a working implementation of at least `clientTop`. Feedback would be much appreciated: it's probably far from ideal.
Implementing `clientLeft` is straight-forward, I think, but `clientWidth` and `clientHeight` require accessing the `border_box` - and I don't know how that works, yet.
Source-Repo: https://github.com/servo/servo
Source-Revision: e0bd80f80715bdbdf30de1de9c79a99a41cfd99e
Currently, there are a few linting functions that only run on certain
filetypes (determined by the file extension). Prior to this commit, the
special cases were handled in a parent function with a conditional. This
commit changes the system so each linting function gets passed a
filename so the function can determine whether it should run or not
based on the file extension.
I also refactored flake8 linting slightly. From what I've read so far of
the code, flake8 itself will only print the results directly to stdout
(though the linter would report the quantity of errors detected).
Prior to this commit, we would let flake8 print directly to stdout and
just determine if there were >0 errors reported. This commit (sort of
hackily) temporarily captures stdout when we call flake8 so we can do
what we want with the output, allowing us to `yield` the line number
and message like we do with the other linting functions.
In my opinion, both of these changes isolate specific behaviors/checks
into their respective linting functions instead of having them handled
at a more global level.
In addition to the changes above:
* The whitespace linter now runs on WebIDL and TOML files
* The license header linter now runs on WebIDL files
Source-Repo: https://github.com/servo/servo
Source-Revision: 7c8922c0c39616559b580b4a363ebe2a8c6b3ba8
This necessitated getting rid of the boxed trait object that was being
be passed between the script task and the image cache task.
r? @jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e13ebf712de444132a6cc90f394c121d8d751c4c
The comment points to the "implement element prefix" issue, but we clone the element's prefix when we construct the element right above.
Source-Repo: https://github.com/servo/servo
Source-Revision: 5a66b59f9bfece8944d9766872cc95cdce7705e6
This one's for #6752. The build was successful for this change. I'll commit the next one for `perform_annotated_read_operation` in a moment...
Source-Repo: https://github.com/servo/servo
Source-Revision: 3af6992151b087412b2dd460d20b34fb9fc2f28f
This virtual method mimics the behaviour of mutation observers and make it more viable than the older child_inserted(), which didn't cover removed nodes and was called as many times as there were inserted nodes.
A few other shortcomings where remove_child() was called directly instead of Node::remove() were also fixed while at it.
Source-Repo: https://github.com/servo/servo
Source-Revision: 705c95dedbbaa60ffd08e70579915e228d5b6ee0
If there's an error in the command-line arguments for `mach build`, we should print it before starting a (potentially) long bootstrap process, not after.
r? @larsbergstrom or @frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: c7f73ebc2938e5dc67a10238cac9fc10f95e2f5f
To actually make the multiprocess communication work, we'll need to
reroute the task creation to the pipeline or the compositor. But this
works as a first step.
r? @jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1764267379a00b96a1df89f3917299a0c6fd325c
Uses a couple of extra threads to work around the lack of cross-process
boxed trait objects.
r? @nnethercote
Source-Repo: https://github.com/servo/servo
Source-Revision: f778e0eecf7cd8a2b870d18c3c305ff10d6b1894