Interval + CSV time-profiling
This PR fixes#10886. The -p option can be followed by either an interval number or a CSV filename.
* In the interval profiling, the profiler output would be spitted out to the terminal periodically.
Example usage: **./mach run -p 1 http://www.google.com** will print the time-profiling output to the terminal every second.
* In the CSV file profiling, a CSV file will be generate upon termination of servo.
Example usage: **./mach run -x -o out.png -p out.csv http://www.google.com** will generate out.csv upon termination of Servo.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10995)
<!-- Reviewable:end -->
add tidy test for space after ":" in stucts
Addresses issue #10702
the tidy self-test doesn't seem to catch the `member_name:"Foo"` line like it should. the regex follows similar pattern in the file and works in my regex tester tool, so not really sure what is going on there.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10713)
<!-- Reviewable:end -->
Hoist gecko bindings into their own crate
This will be helpful for leveraging the bindings with our nsIAtom-backed
string_cache replacement.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11121)
<!-- Reviewable:end -->
The whitespace range was not properly shifted which caused us to adjust the fragment's inline size by the advance of a different set of characters.
This was causing justified text lines to be too long or too short.
Explicitly list inputs to the style crate's build script
This avoids unncessary build script runs caused by changes to unrelated files.
Note: Adds a dependency on https://crates.io/crates/walkdir which is MIT licensed and maintained by BurntSushi.
r? @metajack
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11134)
<!-- Reviewable:end -->
Use the same build environment and features for CEF, Servo, Gonk, Geckolib
* Remove unnecessary dependencies and features from top-level Cargo.tomls. The features for each crate will be computed based on the union of features specified in the dependency graph. Specifying the same ones again just adds more ways for them to get out of sync.
* Move all cargo build environment variables into CommandBase
Fixes#11112. r? @metajack
(Not included: CI test to make sure #11112 doesn't regress again.)
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11122)
<!-- Reviewable:end -->
Override $CARGO_HOME only if cargo-home-dir is in .servobuild
This preserves the fix from #11097 in the situation where `$CARGO_HOME` and `cargo-home-dir` in `.servobuild` are both present: `.servobuild` should win.
But it changes the behavior when `$CARGO_HOME` is present and `.servobuild` is not: Then `$CARGO_HOME` should be used.
We now check the following values in order of priority and use the first one that is found:
1. `cargo-home-dir` in `.servobuild`
2. `CARGO_HOME` in the environment
3. default value (`<servo-repo>/.cargo`)
r? @larsbergstrom
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11135)
<!-- Reviewable:end -->
This preserved the fix from #11097 in the situation where `$CARGO_HOME` and
`cargo-home-dir` in `.servobuild` are both present: `.servobuild` should win.
But it changes the behavior when `$CARGO_HOME` is present and `.servobuild` is
not: Then `$CARGO_HOME` should be used.
We now check the following values in order of priority and use the first one
that is found:
1. `cargo-home-dir` in `.servobuild`
2. `CARGO_HOME_DIR` in the enivironment
3. default value (`<servo-repo>/.cargo`)
Implement File DOM object interface
* Rewrite constructors of `Blob` and `File` with `DataSlice` as argument
* Update WebIDL of `Blob` and `File`
* Implement missing interfaces of `File` (However, due to lack of working `ArrayBuffer/ArrayBufferView` in `Blob`, so it still differs from spec)
* Update WPT test `File-constructor.html`
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11076)
<!-- Reviewable:end -->
The features for each crate will be computed based on the union of features
specified in the dependency graph. Specifying the same ones again just adds
more ways for them to get out of sync.
Add FileManagerThread
This is intended to support the File API implementation. Basically an event loop with three kinds of messages:
+ Select a file
+ Read a file with ID
+ Delete the ID from manager-owned map
The design decision in this PR is not the final (or best I think) version, welcome reviews :)
TODOs:
- [x] Add multiple file selection
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11029)
<!-- Reviewable:end -->
Added tests for formsubmitter methods
Fixes#11047.
I decided to add on to the other test since this test would have overlap with testing `encytype` from submitting with various different element.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11056)
<!-- Reviewable:end -->
layout: Take margins in the inline direction into account when guessing the inline-size of block formatting contexts.
Fixes the layout on reddit.com.
Partially addresses #10571.
r? @mbrubeck
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11125)
<!-- Reviewable:end -->
Support border/outline-radius properties in geckolib.
<s>Because of the way Gecko stores outline-width in nsStyleOutline::mOutlineWidth (i.e., as its specified value for keywords) we need separate property implementations for servo/gecko products.</s>
The -moz-outline-radius parsing is a bit of a hack; I was just avoiding the effort of factoring out the parsing into a separate method. Let me know if I should do that.
<s>Gecko-side changes are https://bugzilla.mozilla.org/show_bug.cgi?id=1271168.</s>
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11086)
<!-- Reviewable:end -->