Commit Graph

43 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
0d6306d00d Bug 1646811 - Remove some unused extern crate declarations now that style is in rust 2018.
This avoids some warnings.

Depends on D80247

Differential Revision: https://phabricator.services.mozilla.com/D80248
2020-06-18 18:14:24 +00:00
Mike Hommey
d3be0565fd Bug 1621447 - Convert GenerateServoCSSPropList.py to py3. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D70308
2020-04-09 11:03:02 +00:00
Simon Sapin
fd4068c9ea Bug 1587368 - servo: WebIDL codegen: Replace cmake with a single Python script. r=emilio
When playing around with Cargo’s new timing visualization:
https://internals.rust-lang.org/t/exploring-crate-graph-build-times-with-cargo-build-ztimings/10975/21

… I was surprised to see the `script` crate’s build script take 76 seconds.
I did not expect WebIDL bindings generation to be *that* computationally
intensive.

It turns out almost all of this time is overhead. The build script uses CMake
to generate bindings for each WebIDL file in parallel, but that causes a lot
of work to be repeated 366 times:

* Starting up a Python VM
* Importing (parts of) the Python standard library
* Importing ~16k lines of our Python code
* Recompiling the latter to bytecode, since we used `python -B` to disable
  writing `.pyc` file
* Deserializing with `cPickle` and recreating in memory the results
  of parsing all WebIDL files

----

This commit remove the use of CMake and cPickle for the `script` crate.
Instead, all WebIDL bindings generation is done sequentially
in a single Python process. This takes 2 to 3 seconds.
2019-10-09 13:35:45 +02:00
Simon Sapin
8cbf316f06 Bug 1587368 - servo: Fix error message for invalid combination of style crate feature flags. r=emilio
Instead of ``cannot find value `engine` in this scope``
https://github.com/servo/servo/issues/24284
2019-10-09 13:35:44 +02:00
Simon Sapin
69ea3f98fa Bug 1569911 - Stylo: replace product={gecko,servo} with engine={gecko,servo-2013,servo-2020}. r=emilio,nox
Renaming the variable helped make sure I looked at every use.

Cherry-picked from: https://github.com/servo/servo/pull/23856
2019-07-30 12:24:07 +02:00
Emilio Cobos Álvarez
51779e2b10 Bug 1567333 - Remove the ability to build Gecko without the bindgen feature. r=heycam
This is not used for anything, as far as I can tell.

Differential Revision: https://phabricator.services.mozilla.com/D38584
2019-07-18 23:39:14 +00:00
Emilio Cobos Álvarez
dea05cdada Bug 1511811 - Use https for the MPL license URL.
Cherry-picks https://github.com/servo/servo/pull/22198
2018-12-03 08:43:48 -05:00
shindli
3a4462fafb Backed out 13 changesets (bug 1511811) for Btup bustages
Backed out changeset d71cde918f43 (bug 1511811)
Backed out changeset 0ae2634de8e1 (bug 1511811)
Backed out changeset 53d1f5ca4099 (bug 1511811)
Backed out changeset 5a08148928ef (bug 1511811)
Backed out changeset da7816ec50ef (bug 1511811)
Backed out changeset 5fe23889cccc (bug 1511811)
Backed out changeset 800bc60c75a7 (bug 1511811)
Backed out changeset 2392d8199cd0 (bug 1511811)
Backed out changeset 7bc486fbd195 (bug 1511811)
Backed out changeset d2c997426108 (bug 1511811)
Backed out changeset ddd573878432 (bug 1511811)
Backed out changeset 29c8ec1559a4 (bug 1511811)
Backed out changeset f5851346109d (bug 1511811)
2018-12-03 15:39:11 +02:00
Emilio Cobos Álvarez
11a665046f Bug 1511811 - Use https for the MPL license URL.
Cherry-picks https://github.com/servo/servo/pull/22198
2018-12-03 08:15:21 -05:00
Emilio Cobos Álvarez
87231dd9d5 Bug 1505618 - Import formatting changes from servo/servo#22126. 2018-11-08 00:50:12 +01:00
Bobby Holley
196912c9bf servo: Merge #20603 - Run rustfmt on selectors, servo_arc, and style (from bholley:rustfmt_style); r=Manishearth
Now that rustfmt is getting close to stable, and work on the style system has died down a bit, it seemed like an opportune time to auto-format the style crates.

The first commit disables import reordering, since tidy and rustfmt don't currently agree on the correct ordering. The second commit does a bunch of manual fixups such that the output of rustfmt passes tidy. The third commit runs rustfmt on the three aforementioned crate.

There are a few dozen warnings in the style crate about lines longer than 100 characters. It would be good to fix these, but I don't have time for that now.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9a900ef019cd643bff961d7b20db6da69f3edb29
2018-04-10 21:00:11 -04:00
Anthony Ramine
0540275fc8 servo: Merge #20145 - Kill RUSTC_HAS_PR45225 🎉 (from servo:rm-rustc-hack); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 30f33eba9665f5ffdc0648515db7cede68778202
2018-03-01 08:49:03 -05:00
Simon Sapin
bb8c35e54b servo: Merge #19540 - Check that 'style' is compiled in a supported configuration (from servo:style-features); r=emilio
Provide an explanatory error message when the compilation would fail because of missing or duplicate items.

Source-Repo: https://github.com/servo/servo
Source-Revision: 29d960ee5c043ba87ec0da565b5d61979a8a9b78
2017-12-09 20:00:23 -06:00
Simon Sapin
ed5b680e0a servo: Merge #19316 - Fix Stylo tests to pass on both Stable and Nightly Rust (from servo:stylo-size-of); r=emilio
This is on top of https://github.com/servo/servo/pull/19285.

Rust Nightly has new enum memory layout optimizations: https://github.com/rust-lang/rust/pull/45225

Source-Repo: https://github.com/servo/servo
Source-Revision: 17e97b9320fdb7cdb33bbc5f4d0fde0653bbf2e4
2017-11-21 05:41:12 -06:00
Matt Brubeck
2e79c8d38c servo: Merge #18971 - Use env::var_os to read paths from the environment (from mbrubeck:var); r=emilio
This avoids unnecessary UTF-8 validation on OsStrings that we just pass
back to the OS.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they are code cleanup only

Source-Repo: https://github.com/servo/servo
Source-Revision: 5ab0ac162019aede12a8150118328566467fddf2
2017-10-21 08:09:22 -05:00
Paul Rouget
b9878c37cc servo: Merge #18363 - use cargo manifest path to find build.py (from paulrouget:fix_style_build); r=SimonSapin
Without this, build.py can't be found when servo is built as a dependency.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 34e0805b125ae77b9c05ff096c4bbc8d8ffd8bfc
2017-09-05 09:22:28 -05:00
Manish Goregaokar
8ecda34549 servo: Merge #17984 - Remove style/testing feature (from Manishearth:rm-testing); r=SimonSapin
We added this because a year ago we had no reliable Gecko CI. This meant that Gecko-only properties needed to be tested *somehow*, and we solved that by making it so that for unit tests we compile all properties, not just the servo ones.

This was useful back then, but I don't think we need this anymore. We have reliable Gecko CI, and all the gecko-only stuff we tested is adequately handled by the properties-database parsing mochitests. It's a bit of annoying cruft that just complicates things; we probably should remove it.

r? @emilio or @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 32f835260cd3ea03a881f7a344a01f401c4db621
2017-08-08 07:35:29 -05:00
Simon Sapin
904e3d2f13 servo: Merge #16935 - Move bindings tests out of the style crate (from servo:out-of-crate-bindings-tests); r=emilio
This cuts in almost half the time to run:

```
touch components/style/lib.rs
./mach test-stylo
```

Source-Repo: https://github.com/servo/servo
Source-Revision: a01ab9ad3462bb5f30f5ea7903abd6deb9beb364
2017-05-19 03:48:14 -05:00
Xidorn Quan
81ec9b8ca7 servo: Merge #16941 - Move config info from build_gecko.rs to Gecko code (from upsuper:bug1336540); r=emilio
This is the Servo side change for [bug 1336540](https://bugzilla.mozilla.org/show_bug.cgi?id=1336540)

Source-Repo: https://github.com/servo/servo
Source-Revision: 0ad0641872b5fc8139c84159ccec484ab4c3e265
2017-05-18 20:42:55 -05:00
Xidorn Quan
4fc293ed72 servo: Merge #16762 - Generate atom files at build-time (from upsuper:buildtime-pseudo); r=emilio
The commits here basically do the following things:
1. move all generated files for gecko into "gecko/generated" so that we can copy all of them around
2. make regen_atoms.py generate file to the out dir rather than in-tree
3. make the build script invoke regen_atoms.py when bindgen feature is enabled

Source-Repo: https://github.com/servo/servo
Source-Revision: a5fe464e4a2f001ab9b47b1c5c0dd8e3de0fd8e2
2017-05-08 07:35:19 -05:00
Emilio Cobos Álvarez
f0bf9a2e63 servo: Merge #16022 - stylo: Add a build log mechanism (from emilio:stylo-build-log); r=upsuper
This will allow us to debug bindgen problems.

Source-Repo: https://github.com/servo/servo
Source-Revision: aa8b602f9e4b9fb205ec1859a0c733d4713e20bf
2017-03-18 06:45:01 -07:00
Simon Sapin
81883fd8ac servo: Merge #15735 - Update cssparser to 0.11 (from servo:cssparserup); r=emilio
<!-- Please describe your changes on the following line: -->

<s>Depends on https://github.com/servo/rust-cssparser/pull/122.</s>

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 94e563e4d9292d7b19ce061e070cda358e822172
2017-02-26 02:19:32 -08:00
Emilio Cobos Álvarez
d80ad8e33a servo: Merge #15216 - Bindgenup (from emilio:bindgenup_); r=heycam
Bindgenup

r? @heycam

Source-Repo: https://github.com/servo/servo
Source-Revision: ef6656a72731693047683c4799fde35a651fd2c0
2017-01-25 22:41:24 -08:00
Ms2ger
204506e936 servo: Merge #15154 - Update rustc to 1.16.0-nightly (7821a9b99 2017-01-23) (from servo:rustup); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 2ff42462154025b1aed97a825e3a171eaa156d9b
2017-01-24 06:11:40 -08:00
Xidorn Quan
aa7c055225 servo: Merge #14244 - Use build script to generate binding files (from upsuper:buildtime-bindgen); r=emilio
<!-- Please describe your changes on the following line: -->
This is a WIP patch to make rust-bindgen a build time dependency of style component for stylo. This should make things more automatic. I convert majority of `regen.py` to `build_gecko.rs`.

It currently doesn't work on Windows, because of servo/rust-bindgen#271 (it works when I fix the generated file manually, though). I haven't tested other platforms.

It would break servo's CI for geckolib, because:
1. it needs libclang (which is probably easy to solve)
2. it needs `MOZ_OBJDIR` to be passed in so that it can generate bindings

@Manishearth @emilio Do you agree with this change? Do you have suggestion for the issues above?

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 872ec89a9c546eb05246b5047aabfc032d140eff
2016-12-10 03:21:42 -08:00
Simon Sapin
275732a0fe servo: Merge #14535 - Introduce a PropertyId enum and use it instead of strings of property names (from servo:property-id); r=mbrubeck
<!-- Please describe your changes on the following line: -->

* `LonghandId` and `ShorthandId` are C-like enums
* `Atom` is used for the name of custom properties.
* `PropertyDeclarationId` is the identifier for `PropertyDeclaration`,
  after parsing and shorthand expansion. (Longhand or custom property.)
* `PropertyId` represents any CSS property, e.g. in CSSOM.
  (Longhand, shorthand, or custom.)

CC @upsuper

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 6dd4b4822fa788694153ee61a04dd9a5dfb748ec
2016-12-10 01:16:26 -08:00
Manish Goregaokar
6a1ef325c8 servo: Merge #13386 - Run style tests with all properties included (from Manishearth:style-testing); r=emilio
This turns on all properties (including stylo-only ones) when the style unit tests are compiled. This lets us test the parsing of gecko-only properties.

These tests can't go in tests/stylo since this introduces dependencies on `Gecko_*` symbols. This method lets us test parsing and serialization of geckolib properties compiled in Servo mode (e.g. using Servo atoms, Servo URLs)

r? @emilio

Source-Repo: https://github.com/servo/servo
Source-Revision: 28bce69d248995cc6ec83a2b4ada9cf17a888bb5
2016-09-24 00:36:28 -05:00
Xidorn Quan
a626ebfb3a servo: Merge #12338 - Fix geckolib build for Windows (from upsuper:win-geckolib-fix); r=bholley
It contains several fixes to make `./mach build-geckolib` work on Windows.

Source-Repo: https://github.com/servo/servo
Source-Revision: 35a23bfef394fe451879f09979167b048a7bdc88
2016-07-08 11:14:48 -07:00
Matt Brubeck
5b3ad7afc6 servo: Merge #11134 - Explicitly list inputs to the style crate's build script (from mbrubeck:style-rerun-if-changed); r=metajack
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

Source-Repo: https://github.com/servo/servo
Source-Revision: a85db48623d8f5b5dbddbcc1f1ba0eaa0b531249
2016-05-11 13:22:39 -07:00
Simon Sapin
c2199fe815 servo: Merge #10749 - Prepare related files to make it easier to split up the Mako template (from servo:split-mako); r=nox
https://github.com/servo/servo/pull/10586#issuecomment-211490049

r? @nox

Source-Repo: https://github.com/servo/servo
Source-Revision: 3bfa4cc7414fea760ce5c503bfbcf25262acb9d7
2016-04-21 10:08:09 +05:00
Per Lundberg
baad6495f6 servo: Merge #10617 - Extracted Mako-based code generation invokation to separate .py files (from perlun:extract-build-properties-script-to-py-files); r=bholley
This breaks out some of the parts on #10586, that should be easily mergeable (hopefully pretty much a no-brainer really). The idea would be to let you review & merge it first, and then I'll complete the other PR rebase off of this stuff.

@bholley - I did like you suggested and broke it out for `geckolib` as well. The tests should also be running without problems (tested `./mach test-unit` locally).

Source-Repo: https://github.com/servo/servo
Source-Revision: 0c51259e4064e76ac180210c724af61bf15f8640
2016-04-15 04:20:47 +05:00
Simon Sapin
22202bc43c servo: Merge #10527 - Work around a Mako bug on Windows (from servo:cr); r=larsbergstrom
http://logs.glob.uno/?c=mozilla%23servo#c403766
https://i.imgur.com/j5Zv4LX.png
https://bitbucket.org/zzzeek/mako/issues/150/line-ending-handling-broken-on-win32

r? @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 11927da1659baec54102fa4609001f073216d7b3
2016-04-12 06:43:22 +05:00
Bobby Holley
1f801873e5 servo: Merge #10461 - Add some machinery to allow us to disable CSS properties/values per-product (from bholley:per_product); r=SimonSapin
Here's an initial stab at solving the issues @SimonSapin brought up in #10408.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2491af84fc8e95e4e5741e6fc12db4275527aaba
2016-04-08 18:26:43 +05:00
Lars Bergstrom
281c208ec7 servo: Merge #9385 - Win32 support (from larsbergstrom:win32); r=frewsxcv,pcwalton,jdm,ecoal95
r? @frewsxcv for python stuff
r? @pcwalton for the "remove usage of Gaol" stuff for Win32
r? anybody else for misc cargo.lock updates, etc.

This replaces #7878.

This works best with https://github.com/servo/mozjs/pull/71, too, to enable static linking, but can be run without (via some PATH hackery).

The instructions are here, and will be added to a .md file in the repo once the mozjs changes also land:
https://hackpad.com/Servo-on-Windows-C1LPcI2bP25

I'd like to get these changes landed because I've been rebasing them for months, they're otherwise quite stable, and don't affect our other platforms and targets.

Source-Repo: https://github.com/servo/servo
Source-Revision: 525e77f64fc65ea2397b4ff3849f5b1f39386698
2016-01-23 06:57:27 +05:00
Johann Tuffe
25ce9ab4be servo: Merge #7265 - Add alphabetical order check for use statements (from tafia:tidy-use); r=Ms2ger
close #7112

Source-Repo: https://github.com/servo/servo
Source-Revision: a5fbb2f2a6fa79755f975feff2435abb6a5dd0e9
2015-08-20 07:43:56 -06:00
Simon Sapin
c302332aab servo: Merge #6741 - Fix CSSStyleDeclaration::setPropertyPriority and some refactoring (from servo:fix-setpropertypriority); r=pcwalton
r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: c6b043582b41434c59a21eed5c9258ae3c0fb437
2015-08-01 15:00:06 -06:00
Patrick Walton
d87e9f2406 servo: Merge #6364 - layout: Outline the individual property cascading functions to reduce I-cache footprint (from pcwalton:debloat-cascade); r=SimonSapin
Reduces the size of `properties::cascade` from over 100K of code to
under 5K. Due to the improved I-cache utilization, improves ARM scaling
on 4 cores by 15%.

r? @SimonSapin (feel free to punt to someone else if you like)

Source-Repo: https://github.com/servo/servo
Source-Revision: 6386addb01dfec4bda38f99e534516ddf5ff77aa
2015-07-06 07:45:38 -06:00
Corey Farwell
3d43073796 servo: Merge #6174 - Reduce max line length from 150 to 120 characters (from frewsxcv:cleanup-long-lines); r=SimonSapin
Part of https://github.com/servo/servo/issues/6041

Source-Repo: https://github.com/servo/servo
Source-Revision: 542519ebfd073662bc9421ac5fa0aa01ebc0d6fe
2015-05-24 18:27:26 -05:00
Simon Sapin
b72bb5e7d5 servo: Merge #5935 - Upgrade Rust (from servo:rustup_2015-04-25); r=Ms2ger
r? everybody

Source-Repo: https://github.com/servo/servo
Source-Revision: 49aed6555dbc008c1a378c5cbb303f5467232b6b
2015-05-05 09:11:30 -05:00
Simon Sapin
5cb6c4ea43 servo: Merge #5262 - Fix some post-rustup warnings (from servo:fix-warnings); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 124a78fb2e4d324a7d0ed54da1cca17839d406b7
2015-03-18 15:21:49 -06:00
Ms2ger
f4ea3a3dd0 servo: Merge #5256 - Upgrade rustc to d3c49d2140fc65e8bb7d7cf25bfe74dda6ce5ecf/rustc-1.0.0-de (from servo:rustup_20150311); r=jdm
...v.

Relies on:
* https://github.com/servo/rust-geom/pull/72
* https://github.com/servo/rust-glx/pull/10
* https://github.com/servo/gleam/pull/15
* https://github.com/servo/rust-mozjs/pull/137
* https://github.com/servo/rust-core-text/pull/35
* https://github.com/servo/rust-io-surface/pull/28

Source-Repo: https://github.com/servo/servo
Source-Revision: 99cf9dbfc107bacb84dfe5afa9539a0ede3beac2
2015-03-18 11:25:00 -06:00
Simon Sapin
8fbd363d52 servo: Merge #4893 - Upgrade to rustc ba2f13ef0 2015-02-04 (from servo:rustup_2015-01-31); r=Ms2ger,glennw
Ready for review.

Final link step on android fails, but we know how to fix it and will add it to this branch soon.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2cc08f289ab909de44fa09a07b2c43b70ce379b9
2015-02-11 17:24:45 -07:00
Simon Sapin
ba695b5444 servo: Merge #4757 - Bring CSS parse error reporting back (from servo:newnewnewcss); r=mbrubeck
(Still off by default. Enable with `RUST_LOG=style`.)

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 172aed535be3c34775824dac64ad2b91fc379ad5
2015-01-30 15:27:53 -07:00