The idea here is to land this before making images and canvas IPC-safe,
because this will shake out bugs relating to the shared memory. There
are currently test timeouts that are preventing multiprocess images and
canvas from landing, and I believe those are due to the inefficiency of
sending large amounts of data in the unoptimized builds we test with. By
moving to shared memory, this should drastically reduce the number of
copies and `serde` serialization.
Under the hood, this uses Mach OOL messages on Mac and temporary
memory-mapped files on Linux.
r? @jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ed1b6a3513e7546b580693f554a081bc0c7c478a
This re-orders text according to the Unicode bidirectional layout algorithm, using the [unicode-bidi](https://github.com/mbrubeck/unicode-bidi) crate. It uses the natural order of the text based on Unicode character properties and the CSS `direction` property.
This does not yet support the CSS `unicode-bidi` property or the HTML `dir` attribute, but these should be straightforward to add.
r? @pcwalton. Also depends on servo/unicode-bidi#4.
Source-Repo: https://github.com/servo/servo
Source-Revision: d3a36fafd948d7b9366feeca44f9ca9ad012d706
* Adding dependencies
* Replacing `i8` with `libc::c_char` to build properly on platforms
where char is unsigned.
Source-Repo: https://github.com/servo/servo
Source-Revision: b386d7ae444af868907b9faff44e8432469160bd
We've had problems with this before, and I think it's starting to cause
problems again.
See PRs #6629 and #6616; my current theory is that this is the problem.
r? @larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 0d7744b198d95bc2dae31a2cd48bdef1b1eeb792
Part of my long-term plan to stop exposing `unsafe_get()` outside the script crate.
Source-Repo: https://github.com/servo/servo
Source-Revision: 37a1e22515e98fbda93d7e856c5a67b21d9b00a4
Do not copy the discarded node's text data, borrow it.
Closes#6658.
p.s. What's the `let text_node = text_node.clone();` for? I removed it because it doesn't seem to be necessary, but I'd like to be sure.
Source-Repo: https://github.com/servo/servo
Source-Revision: 5dba6d5b010e0d40ef282b6e43925ad0a7c44315
- Use SmallVec<[T; N]>
- Make find_iframe a free function
- Make ProgressEvent use enums for bubbles and cancelable
- Change README, as `rust-snapshot-hash` is just a text file
Source-Repo: https://github.com/servo/servo
Source-Revision: aafc3dfa963b466303d5f241d69036f211aaad00
Currently only the BufferMap is recorded, but a later change will also
measure the memory usage of the compositor tree.
Source-Repo: https://github.com/servo/servo
Source-Revision: 3f69eadc0d55b2f065d59dae84baeac45a0bdc8e
Implement HSTS (preload-only) servo/servo#6105
* Downloads the HSTS preload list from the chromium repo (same as gecko), then convert it to a list appropriate for servo.
* Reads the preload list when creating a resource task, and implements STS for those domains.
Still todo:
* Read Strict-Transport-Security headers from servers and add details to the in-memory HSTS list. (note: this requires hyper or servo to implement an STS header struct. Hyper seems like the appropriate location, so I will create an issue/PR there soon). The work for this is nearly done with the exception of adding a new ControlMsg and the new header.
* Persist HSTS list to disk with known hosts (perhaps a different issue should be raised for this?)
Source-Repo: https://github.com/servo/servo
Source-Revision: ab3d6c472d409c1602c873dcdcb495a7fec9d4b0
…lel.
This should allow #6490 to land, since it's hitting problems with unit tests that create a resource task and therefore race on calling opts::get().
Source-Repo: https://github.com/servo/servo
Source-Revision: 126f5ae8f0a1041aa881b5b8d9396d0957b16036
By doing this on either side of the call to the relevant tasks' start()
method, we don't need to store the mem::ProfilerChan or the reporter
name in the task itself.
Source-Repo: https://github.com/servo/servo
Source-Revision: cb52cc66581191b6f787a4a6d0d2844e2968b7eb
Also updates glutin with a crash fix that was exposed by this patch.
Source-Repo: https://github.com/servo/servo
Source-Revision: 5ac80bff8e25be65e96daaf6b7403b11d23d561a
This checks every .toml file for an asterisk and prints an error if found.
Source-Repo: https://github.com/servo/servo
Source-Revision: 58e9bc6583b6ebbeb27e3b28a6b271ee48cd695a
`rustdoc --passes "collapse-docs unindent-comments"` doesn’t work is intended. It still generate HTML files that look alright at a glance, but all doc-comments are truncated to their first line for some reason I don’t understand.
See http://doc.servo.org/script/dom/index.html for example. The module documentation there is currently just “The implementation of the DOM.”, but clicking the [src] link shows a much larger doc-comment.
The correct invocation is to use `--passes` multiple times.
https://github.com/rust-lang/rust/issues/15347#issuecomment-122785714
Source-Repo: https://github.com/servo/servo
Source-Revision: 685a44e1f5017849c341850696a77418bcc14011
Gecko doesn't really follow the spec but it seems to throw a HierarchyRequest error when parent is null.
Any ideas who I should talk to about fixing the spec to account for the null checks?
Source-Repo: https://github.com/servo/servo
Source-Revision: acf47a02cf38b5c82e7c78cc1f6660a7daa9969a
SpiderMonkey provides an extremely fine-grained breakdown of memory
usage, but for Servo we aggregate the measurements into a small number
of coarse buckets, which seems appropriate for the current level of
detail provided by Servo's memory profiler. Sample output:
```
| 17.41 MiB -- url(file:///home/njn/moz/servo/../servo-static-suite/wikipedia/Guardians%20of%20the%20Galaxy%20(film)%20-%20Wikipedia,%20the%20free%20encyclopedia.html)
| 7.32 MiB -- js
| 3.07 MiB -- malloc-heap
| 3.00 MiB -- gc-heap
| 2.48 MiB -- used
| 0.34 MiB -- decommitted
| 0.09 MiB -- unused
| 0.09 MiB -- admin
| 1.25 MiB -- non-heap
```
Most of the changes are plumbing to get the script task communicating
with the memory profiler task.
Source-Repo: https://github.com/servo/servo
Source-Revision: 2b0bdbe1c195f2f6dd7671981999d622c505fbc5
Firefox Developer Tools doesn't always send autoMargins, as seen in this message:
{"type":"getLayout","node":"node14","to":"pageStyle9"}
So don't use unwrap.
Source-Repo: https://github.com/servo/servo
Source-Revision: 10f3a89313464c98f11ff64fed741abcba6352a6
This commit introduces the `serde` dependency, which we will use to
serialize messages going between processes in multiprocess Servo.
This also adds a new debugging flag, `-Z print-display-list-json`,
allowing the output of display list serialization to be visualized.
This will be useful for our experiments with alternate rasterizers.
r? @metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: ef9715203edf0a280d019b6e8823666f0e7020be