Commit Graph

620 Commits

Author SHA1 Message Date
Simon Sapin
03b9bbd5bc servo: Merge #17815 - Fix bootstrapping during mach rustup without system cargo (from servo:bootstrap); r=nox
https://travis-ci.org/servo/servo-with-rust-nightly/builds/255611949#L989

Source-Repo: https://github.com/servo/servo
Source-Revision: 3854e8f174a834c72bf93c7a76bb33c80021a970
2017-07-21 05:00:56 -07:00
Pavel Sergeev
4f19f3bd1e servo: Merge #17749 - Extra space check (from SergeevPavel:extra-space-check); r=jdm
<!-- Please describe your changes on the following line: -->
Add tidy check for keywords with more than one space afterwards.

---
<!-- 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
- [X] These changes fix #17700 (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: 7d95fb8e49dd0eb9fa9efb9d70008f5f9bf20a83
2017-07-19 16:03:51 -07:00
Simon Sapin
4bb0c9fe89 servo: Merge #17780 - Update to cargo 0.21.0-nightly (eb6cf012a 2017-07-02) (from servo:cargoup); r=nox,SimonSapin
Cargo binaries are now produced on Rust’s CI, not Cargo’s. Remove cargo-commit-hash and find Cargo based on rust-commit-hash.

Unfortunately, Cargo binaries are not available for every Cargo PR anymore: https://github.com/rust-lang/cargo/pull/4123#issuecomment-316201869

Source-Repo: https://github.com/servo/servo
Source-Revision: d403f404382c66485d9744787ce021556be59d6c
2017-07-18 15:57:07 -07:00
Simon Sapin
80ca47fdf8 servo: Merge #17727 - Upgrade to rustc 1.20.0-nightly (ab91c70cc 2017-07-14), use non-"alt" std (from servo:rustup); r=nox
<s>Possibly</s> fixes https://github.com/servo/servo/pull/17604

Source-Repo: https://github.com/servo/servo
Source-Revision: 9d30e5b4e0fe9ccdfcd47d5134b5fbfba2e68096
2017-07-17 05:06:01 -07:00
Martin Robinson
7b0a6b5e35 servo: Merge #17694 - Upgrade to the latest version of WebRender (from glennw:webrender-update); r=glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: 173181a491f18a292ea80acbc25dd561e6e678d8
2017-07-12 21:52:27 -07:00
Imanol Fernandez
14edc6c0da servo: Merge #17099 - Support for Android arm64 compilations (from MortimerGoro:android_arm64); r=larsbergstrom
<!-- Please describe your changes on the following line: -->

This PR is the final step to adds support for Android arm64 compilations. See https://github.com/servo/servo/issues/11921 for previous work.

Fixes in this PR:
- Fix js dependency compilation: https://github.com/servo/rust-mozjs/pull/360
- Fix skia dependency link error: https://github.com/servo/skia/pull/136
- Fix blurdroid dependency compilation: https://github.com/szeged/blurdroid/pull/4
- Fix mio and net2 dependency compilations: https://github.com/carllerche/mio/pull/599
- Fix gcc compiler name in the fake linker
- Compile OpenSSL for aarch64 (update to stable 1.1.0 was required for this)

---
<!-- 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: -->
- [x] 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: 85e5551ee9f2f662bdca53469a327491f35ece53
2017-07-08 11:32:14 -07:00
Jonathan Chan
5274274fd5 servo: Merge #17483 - mach: Fail properly if we can't find the path for OSMesa or GLAPI (from jyc:fail-properly); r=wafflespeanut
Currently we check `if not (osmesa_path and glapi_path)` after using
`path.join`. It seems we actually want to check whether
`find_dep_path_newest` returns something, because if calls to that
function fail, we'll instead get an error from `path.join` about
`NoneType` not having attribute `endswith` (it expects a string), which
preempts this check.

<!-- Please describe your changes on the following line: -->

---
<!-- 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
- [X] These changes do not require tests because this is a change to `./mach` (are there tests for that?)

<!-- 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: edd82b3c20766877f4530e90a2ec1c9ce3fed848
2017-07-02 14:17:50 -07:00
Simon Sapin
99506e1e43 servo: Merge #17561 - Upgrade to rustc 1.20.0-nightly (69c65d296 2017-06-28) (from servo:rustup); r=nox
Fixes #17575.

Source-Repo: https://github.com/servo/servo
Source-Revision: d16ef3cd332039e2b4def59f55c87f706e2aa6ae
2017-06-30 14:34:56 -07:00
Austin Hicks
80857f255b servo: Merge #17419 - Windows can run WPT (from camlorn:master); r=jgraham
<!-- Please describe your changes on the following line: -->
This PR contains fixes that address the specific errors in #17392: WTP workarounds for Windows terminals (see #8313), modifications to `mach test --all` that allow `test_tidy` to be called properly, and modifications to the test harness for WPT that allow it to run when OpenSSL isn't found.  How to handle OpenSSL on Windows is probably a separate issue because it doesn't have a straightforward answer: we either need to provide specific instructions to users or bundle it in binary form ourselves.

---
<!-- 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
- [x] These changes fix #17392  (github issue number if applicable).

<!-- Either: -->
- [x] These changes do not require tests because they fix test running.

<!-- 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: 64782bc6e3b8882630137d2e76cff4b90839bf1a
2017-06-21 23:12:38 -07:00
UK992
947031ed73 servo: Merge #16395 - Bootstrap: Fix cmake version parsing (from UK992:msvc2017); r=metajack
Fixes https://github.com/servo/servo/issues/16387

Source-Repo: https://github.com/servo/servo
Source-Revision: ffdb27ae3380e6271a01279cb3ba35df6b6c8da9
2017-06-16 09:00:43 -07:00
Nicolas Silva
6e99a9e0a6 servo: Merge #17184 - Bump euclid to 0.14.x (from nical:euclid-bump); r=SimonSapin
- [x] `./mach build -d` does not report any errors (kinda, need webrender published and Cargo.toml fixed up)
- [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
- [x] These changes do not require tests because it is a refactoring in which the difference is mostly a compile-time/strong-typing thing with no change to the logic.

Source-Repo: https://github.com/servo/servo
Source-Revision: 18653f69581693a5bae1ce4e350e78bc16159b08
2017-06-14 07:25:05 -07:00
Josh Matthews
12681de3c6 servo: Merge #17276 - Use new ARM target for nightly upload (from servo:jdm-patch-3); r=mbrubeck
This should fix #17275 after the changes in #17008.

Source-Repo: https://github.com/servo/servo
Source-Revision: c1ea54d3c4af0043e7e9e41424569e979376cb2a
2017-06-12 13:58:59 -07:00
Jeremy Lempereur
ee86d30f5a servo: Merge #17240 - #17079 : Changed the openssl url and bumped the version (from o0Ignition0o:openssl_from_mirror); r=jdm
<!-- Please describe your changes on the following line: -->
Changed the openssl url and bumped the version.
It's a wip because I haven't figured out a relevant way to write a test about it yet.

---
<!-- 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
- [X] These changes fix #17079 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because The mach command will fail if anything goes wrong.

<!-- 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: d7dff8e6d118bf82f837b3e6387cf96647007cdd
2017-06-12 06:43:56 -07:00
Josh Matthews
dfb3ae3e5e servo: Merge #16752 - Report more informative CSS errors (from jdm:css-parse-error); r=SimonSapin
This requires https://github.com/servo/rust-cssparser/pull/143 for the final commit. There's no better way to split that work up, unfortunately, and it's extremely easy to bitrot. I would appreciate if we could expedite reviewing this work.

This is the work necessary to enable https://bugzilla.mozilla.org/show_bug.cgi?id=1352669. It makes sense to merge it separately because it's so much effort to keep it up to date with the ongoing Stylo work.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [x] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 061cb5f48e5c93a5decf39e530aea4a566e97341
2017-06-09 14:31:48 -07:00
Josh Matthews
1bf99d2cb7 servo: Merge #17261 - Allow running selectors tests with test-unit (from servo:jdm-patch-5); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 8fee7f45e0481bf6074788029f8a1eaea24fcca5
2017-06-09 13:24:47 -07:00
Alan Jeffrey
811f1a0722 servo: Merge #17193 - Count number of braces on a line when checking spec links in test-tidy (from asajeffrey:test-tidy-brace-count); r=jdm
<!-- Please describe your changes on the following line: -->

Allow more than one brace per line when checking spec links in test-tidy.

We had problems caused  by `if unsafe { ... } {`.

---
<!-- 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
- [X] These changes have tests.

<!-- 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: 07b0770d21d2b374f9a30c98cdde5ae5531aaecb
2017-06-07 15:36:36 -07:00
Josh Matthews
5837872205 servo: Merge #17161 - Set the initial disk image size for mac packages (from servo:jdm-patch-1); r=cbrewster
Attempting to fix https://github.com/servo/servo/issues/16644 per https://apple.stackexchange.com/questions/156994/yosemite-hdiutil-create-failed-error-5341.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5c3b9ef3a0db7aeaf76ede239bc3700369233e12
2017-06-05 16:41:10 -07:00
James Graham
fcf3585ffd servo: Merge #17163 - Update mach bootstrap for changes to wpt harness path in gecko (from jgraham:gecko_wpt_update); r=jdm
Gecko is now using the wpt harness under the wpt tools directory
rather than a copy in an adjacent directory. Therefore the path to the
requirements files, and the required model paths, have changed.

<!-- Please describe your changes on the following line: -->

---
<!-- 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
- [X] These changes do not require tests because it only affects the mach bootstrap script

<!-- 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: a36edb9970dbb658c17c008cfb22a7dc4f3e76ce
2017-06-05 06:26:31 -07:00
Imanol Fernandez
3072f2b86d servo: Merge #17008 - Make armv7-linux-androideabi default target on Android (from MortimerGoro:android_default_armv7); r=larsberg
<!-- Please describe your changes on the following line: -->

See https://github.com/servo/servo/issues/11921

After fixing problematic dependencies this is the last step to support armv7-linux-androideabi target on Android:

- Updates skia dependency to fix a linker error. See https://github.com/servo/skia/pull/136
- Fixes specifying android targets on `./mach package` and `./mach install` steps:
  -`./mach package --release --target=arm-linux-androideabi`
  -`./mach package --release --target=armv7-linux-androideabi`
  -`./mach package --release --target=aarch64-linux-android`
- Make `armv7-linux-androideabi`default when `--android` param is used in build, package or install commands

---
<!-- 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
- [x] These changes fix #11921 (github issue number if applicable).

<!-- Either: -->
- [x] 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: a694f70acf2f011da816a24716d6501ab153c64e
2017-05-31 16:29:19 -05:00
Aneesh Agrawal
636d400286 servo: Merge #17103 - Shim subprocess.DEVNULL for Python 2 (from aneeshusa:shim-subprocess-devnull); r=larsbergstrom
This was introduced in Python 3.3, so provide our own version.

Requires careful review since this will leak secrets (!!!) if not done properly.

<!-- Please describe your changes on the following line: -->

---
<!-- 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
- [x] `./mach test-tidy` does not report any errors
- [x] These changes help with #17045 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because must be tested manually

<!-- 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: 71a4daec510d79f49245981e0c379167812a9c0a
2017-05-30 19:06:45 -05:00
Aneesh Agrawal
86a95f2bac servo: Merge #17085 - Fix ./mach upload-nightly macbrew (from aneeshusa:fix-mach-upload-nightly-for-macbrew); r=larsbergstrom
<!-- Please describe your changes on the following line: -->
Fix a few issues with the Homebrew repository updating.
Follow-up to #16565; should finish off #17045.

Lightly smoke-tested locally this time.

---
<!-- 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
- [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
- [x] These changes do not require tests because they will be tested on the builders

<!-- 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: 011a7adf56d9a58be9707cdeeeb824c4b70df84a
2017-05-30 14:06:59 -05:00
UK992
920efd6108 servo: Merge #17040 - Improve clean-cargo-cache (from UK992:clean-cargo-cache); r=jdm
It won't delete pack files from `db` directory anymore, which cause https://github.com/servo/servo/issues/16787 and it will remove empty folders now.

Source-Repo: https://github.com/servo/servo
Source-Revision: fecfd306c5e743a8fe8e558b1448e725e53cde7a
2017-05-28 22:27:18 -05:00
Anthony Ramine
d00428c643 servo: Merge #17004 - Rollup of 7 pull requests (from nox:rollup); r=nox
- Successful merges: #16885, #16886, #16932, #16939, #16948, #16986, #16995
- Failed merges:

Source-Repo: https://github.com/servo/servo
Source-Revision: 98edf5d54d2c8269395379c68c1342bd867c8cf9
2017-05-24 04:26:19 -05:00
Aneesh Agrawal
6a18844b8d servo: Merge #16565 - Convert nightly upload script to Python (from aneeshusa:move-upload-nightly-script-to-python); r=metajack
Now that MinGW and MSYS have been removed from the Windows builders,
bash is not available to run the previous upload_nightlies.sh script.
Convert the script to Python 2 for cross-platform support.
Additionally, switch to the `boto3` library for easy uploading
without needing to install `s3cmd`,
and move the code into mach for easy `boto3` installation
as the new `./mach upload-nightly` command.

Also, hard-code the paths to the packages instead of using
globs to look for them, as the paths are static.
(The paths used to contain timestamps,
but we now insert timestamps when uploading to S3
to improve reproducibility.)

<!-- Please describe your changes on the following line: -->

---
<!-- 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
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #16560 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because Buildbot will test them.

<!-- 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: 9468fae0d443b2a8b9a7694f917dc097ac6c7e60
2017-05-22 18:11:19 -05:00
Glenn Watson
7cc59f964b servo: Merge #16917 - Update WR (Intel driver workaround, subpixel and other bugfixes) (from glennw:update-wr-bugs); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: e91ffafd826bd3f0449d2822e40278defffd75a2
2017-05-22 07:00:39 -05:00
Simon Sapin
fce247b642 servo: Merge #16954 - Avoid returning / passing around a huge ParsedDeclaration type (from servo:arrayvec); r=emilio
This enum type used to contain the result of parsing one CSS source declaration (`name: value;`) and expanding shorthands. Enum types are as big as the biggest of their variant (plus discriminant), which was quite big because some shorthands expand to many longhand properties. This type was returned through many functions and methods, wrapped and rewrapped in `Result` with different error types. This presumably caused significant `memmove` traffic.

Instead, we now allocate an `ArrayVec` on the stack and pass `&mut` references to it for various functions to push into it. This type is also very big, but we never move it.

We still use an intermediate data structure because we sometimes decide after shorthand expansion that a declaration is invalid after all and that we’re gonna drop it. Only later do we push to a `PropertyDeclarationBlock`, with an entire `ArrayVec` or nothing.

In future work we can try to avoid a large stack-allocated array, and instead writing directly to the heap allocation of the `Vec` inside `PropertyDeclarationBlock`. However this is tricky: we need to preserve this "all or nothing" aspect of parsing one source declaration, and at the same time we want to make it as little error-prone as possible for the various call sites. `PropertyDeclarationBlock` curently does property deduplication incrementally: as each `PropertyDeclaration` is pushed, we check if an existing declaration of the same property exists and if so overwrite it. To get rid of the stack allocated array we’d need to somehow deduplicate separately after pushing multiple `PropertyDeclaration`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 60682cf81fe19a82c73dd98ba4c1eebc1dbbfcac
2017-05-19 18:37:14 -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
Imanol Fernandez
b0a2e00a30 servo: Merge #16893 - Implement WebGL extensions (from MortimerGoro:webgl_extensions); r=emilio
<!-- Please describe your changes on the following line: -->

This PR provides the base for implementing WebGL extensions. It comes with the following ones already implemented and passing all related WebGL conformance tests:

- OES_texture_float
- OES_texture_float_linear
- OES_texture_half_float
- OES_texture_half_float_linear
- OES_vertex_array_object

I'll submit other extensions like compressed textures in a separate PR to ease the review process. I included the 5 extensions in this PR because it's easier to show/review how the WebGL extension base works.

To pass all OES_texture_float_xxx tests I had to add some missing format conversions in WebGLRenderingContext.rs

---
<!-- 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: -->
- [x] 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: b0976566fb9c79f7dc67b2ac808eb50ef4ad653f
2017-05-19 01:09:48 -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
Simon Sapin
70fe8c63b4 servo: Merge #16915 - Shrink selectors::Component, implement attr selector (in)case-sensitivity (from servo:attr-selectors); r=nox,emilio
* https://bugzilla.mozilla.org/show_bug.cgi?id=1364148
* https://bugzilla.mozilla.org/show_bug.cgi?id=1364162
* https://bugzilla.mozilla.org/show_bug.cgi?id=1363531
* Fixes #3322

Source-Repo: https://github.com/servo/servo
Source-Revision: 640b16634f2828bad46ab6d78e785dfc2025ab46
2017-05-18 18:45:20 -05:00
Alan Jeffrey
bb213d3150 servo: Merge #16814 - Implement Houdini worklets (from asajeffrey:script-worklets); r=jdm
<!-- Please describe your changes on the following line: -->

This PR implements the current draft Houdini Worklets specification (https://drafts.css-houdini.org/worklets/).

The implementation is intended to provide a responsive environment for worklet execution, and in particular to ensure that the primary worklet executor does not garbage collect, and does not block loading module code. The implementation does this by providing a thread pool, and performing GC and module loading in a backup thread, not in the primary thread.

---
<!-- 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
- [x] These changes fix #16206
- [x] There are tests for these changes

<!-- 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: ac99a48aeaa184d3acdb39d249636a140c4b7393
2017-05-17 16:20:42 -05:00
Simon Sapin
5899183b2d servo: Merge #16852 - Fix illegal_floating_point_literal_pattern again and rustup… (from servo:illegal_floating_point_literal_pattern); r=jdm+SimonSapin
… to compiler that has it, to avoid regressing again.

Upgrade to (rustc 1.19.0-nightly (e17a1227a 2017-05-12)

Source-Repo: https://github.com/servo/servo
Source-Revision: 5e5d3559d90a9a0b69ec8147eedf12025ec3e0ce
2017-05-13 11:25:07 -05:00
Imanol Fernandez
bbf2c4ad75 servo: Merge #16769 - Support for Android armv7 and aarch64 target triples (from MortimerGoro:android_archs); r=larsbergstrom
<!-- Please describe your changes on the following line: -->

Support for Android armv7 and aarch64 target triples in python build scripts (build + packaging)

`--android` build parameter works as always (arm-linux-androideabi still the default)
`./mach build --release --android`

New compilation modes for android
`./mach build --release --target=arm-linux-androideabi`
`./mach build --release --target=armv7-linux-androideabi`
`./mach build --release --target=aarch64-linux-android`

See https://github.com/servo/servo/issues/11921. When all crates are ready we'll switch default android compilations to` armv7-linux-androideabi` target triple.

---
<!-- 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: -->
- [x] 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: 286bfb96a06705e37e690be07a51f5e1797f35b0
2017-05-13 10:24:29 -05:00
Simon Sapin
328b3e41a2 servo: Merge #16854 - Add 'mach check' and 'mach check-geckolib' (from servo:check); r=nox
With a reminder that you may still need to do a full build if you want to run it.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2766529c2450ba3fac1b7669c195869a0f7e341b
2017-05-13 08:30:07 -05:00
Simon Sapin
7a3827504c servo: Merge #16836 - Make ./mach rustup use the latest nightly rather than master (from servo:nightly); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: d2fa2ae9343db8d958570a501ff9a7b7a203ceeb
2017-05-13 06:07:11 -05:00
UK992
8d39e2347c servo: Merge #16722 - Add clobber mechanism (from UK992:clobber); r=SimonSapin
Solution for https://github.com/servo/servo/issues/16602 and https://github.com/servo/servo/issues/16632
Only work when `AUTOCLOBBER` environment variable is defined.

CC @SimonSapin @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 9c9bd178713a1def9bec57e7f96e3365252c0f88
2017-05-08 23:53:05 -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
UK992
4ef7026e66 servo: Merge #16593 - Mach: Add mach clean-cargo-cache command (from UK992:clean-cargo-cache); r=wafflespeanut
<!-- Please describe your changes on the following line: -->

---
<!-- 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: f6bd158fd4287226a881e58020f7dc154fa32532
2017-05-08 04:37:21 -05:00
Josh Matthews
8b8f481d8a servo: Merge #16655 - Fix broken unit tests (from servo:jdm-patch-1); r=emilio
These are tests that only get run on TravisCI, apparently, so they were broken by be0139ff3c and 32c624e585 without anybody noticing.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3905b5af1804ad912c6e1854a0bcdfe9bda79065
2017-05-03 09:47:44 -05:00
Aneesh Agrawal
d61fc0e103 servo: Merge #16687 - Keep stable rustc versions in clean-nightlies (from aneeshusa:keep-stable-rustc-during-clean-nightlies); r=mbrubeck
Check the `rust-stable-version` file to keep the last n
versions of both the nightly and the stable compiler.

<!-- Please describe your changes on the following line: -->

---
<!-- 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
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #16675 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they should be checked manually

<!-- 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: 225b505d222e0437a4ac0d6d0f5e5221de9c22e6
2017-05-02 12:37:03 -05:00
Simon Sapin
5b0a315da7 servo: Merge #16601 - Update to cargo 0.19.0-nightly (994e552 2017-04-25) (from servo:cargoup); r=nox
This should be unblocked now: https://github.com/servo/servo/pull/15852#issuecomment-296379226

Source-Repo: https://github.com/servo/servo
Source-Revision: f1287814db78aee51c94ac0eb8d14393f7a1086e
2017-04-27 23:32:54 -05:00
Aneesh Agrawal
ea618b9163 servo: Merge #16639 - Avoid searching for old nightlies in missing dirs (from aneeshusa:skip-nonexisting-dirs-when-cleaning-nightlies); r=jdm
These directories may be missing (e.g. a first time build or due to Buildbot cleaning),
so don't try to look inside them for old nightlies if so.

I noticed this in http://build.servo.org/builders/arm32/builds/6815/steps/shell__1/logs/stdio.

<!-- Please describe your changes on the following line: -->

---
<!-- 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
- [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: 5c321737c65c1c7f11b9c58d010e07412403167a
2017-04-27 17:18:55 -05:00
Simon Sapin
c629b5ad88 servo: Merge #16579 - Upgrade to rustc 1.18.0-nightly (23de823e9 2017-04-23) (from servo:rustup); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 70d7a2be3429196e82c877c5f63cdbf748df6c18
2017-04-24 06:09:25 -05:00
UK992
d39815e219 servo: Merge #16573 - Auto clean old nightlies on Travis (from UK992:travis); r=aneeshusa
This could solve `no space left` problem.

Source-Repo: https://github.com/servo/servo
Source-Revision: cc74b5b36f03dca9bd543885222ed0e6d91fedcd
2017-04-22 19:17:12 -05:00
Nathan Froyd
497fd67fed servo: Merge #16550 - switch gecko_bindings over to the gecko_debug feature [DO NOT MERGE] (from froydnj:gecko-bindings-gecko-debug); r=froydnj
...so that they use the correct Gecko structs regardless of whether Rust
code is being compiled with debug assertions or not.

This is the second part of the Servo-side changes for https://bugzilla.mozilla.org/show_bug.cgi?id=1357556

- [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 building is a sufficient test.

Source-Repo: https://github.com/servo/servo
Source-Revision: f795eb1a8b7443ea9dc1cf1c81a6ac0484894659
2017-04-22 18:40:47 -05:00
Josh Matthews
d96201c75d servo: Merge #16528 - Update web-platform-tests (from servo:wpt); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: bb86bb8514ee4d39d048b1a8d7048a6d269d4d97
2017-04-22 18:04:31 -05:00
Imanol Fernandez
7bd74466d2 servo: Merge #15773 - Android life cycle improvements and Gradle integration (from MortimerGoro:android_improvements); r=larsbergstrom,fabricedesre
This PR includes Android life cycle Improvements and Gradle integration for android packaging.

Android life cycle improvements are implemented in both the new [MainActivity](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-f43708b102e98272c2af7454b8846927) and native code in this related PR: https://github.com/servo/glutin/pull/117
- Properly handle the life cycle of the Android Activity: manage EGLContext lost & restore, and animation loop pause/resume when the app goes to background/foreground or orientation changes. In the current upstream Servo crashes when the app goes to background, activity stops or changes orientation
- Handle event loop awake for Servo Animation loop
- Handle screen resize & orientation events
- Implement new keep_screen_on preference which keeps Android device's screen from ever going to sleep: very useful for games or WebVR
- Implement a full screen mode enabled by preference: very useful for games or WebVR
- Implement new shell.native-orientation preference which allows to lock the Activity to a specific orientation
- Automatically sync new android assets to sdcard when the Android version code is changed.  In the current upstream only the existence of the folder is check but resources are not updated

ofscreen_gl_context is updated to fix this: https://github.com/emilio/rust-offscreen-rendering-context/pull/83

This PR integrates Gradle build system for android packaging. Most of the code is implemented in this [build.gradle](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-89cdb9324addb994cdba0a158b209547) . We can get rid of [build-apk](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-40f5a7cf22f94aad059b2c1795347f5e) and manual jar dependency copying in the [package_commands.py](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-0d425b142c8d10ae6ac1f3711fb5c23a). The correct version of gradle is automatically downloaded using the gradlew wrapper.

Some improvements:
- Allows to include more complex android dependencies/SDKs like AARs, manifest auto-merging and more.
- Improved packaging process: The gradle project is always in the same folder, it uses relative paths for everything (assets, native libraries) and outputs the apk into the correct target folder in servo. In the current upstream, ant/python build system copies the manifest, project, resources and jars each time so you end with multiple copies of the same files.
- Improved dependency declaration. We do not have to manually copy jar dependencies in the python script anymore. The gradle build scripts itself is able to search for the dependencies in the correct servo target folder.
- Supports packaging apks with different architectures: armeabi, armeabi-v7a, aarch64. We still need to fix some native servo compilation issues with armeabi-v7a, aarch64 due to dependencies which use `make`. I'll push this changes in a separate PR of the python build files but the gradle file is already ready to handle that.
- We can easily create product flavors for different versions of Servo. For example a default browser, a WebVR browser with additional dependencies or a Servo android Webview component
- Fixes minor.major.52 build error when blurdroid cargo dependency is compiled using java8 (the default in new Linux machines). The gradle build file enables the new Jack compiler which supports Java8 dependencies.
- The project can be opened with Android Studio and run the brand new GPU debugger on any Android phone. I'll add some docs in the Wiki about this.

---
<!-- 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
- [x] These changes fix #14568 (github issue number if applicable).

<!-- Either: -->
- [x] 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: 2b5c17c43a517b6d6bd981f5fa905536dddd3beb
2017-04-21 15:52:13 -05:00
coalman
de7526ae83 servo: Merge #16495 - Make tidy check that opening and closing braces that begin a line do … (from coalman:tidy-brace-alignment); r=emilio
…so with proper alignment.

---
<!-- 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
- [X] These changes fix #16486 (github issue number if applicable).

<!-- Either: -->
- [X] 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: 195100f3cac99b979e25157eb437e63bd3262e6f
2017-04-19 03:06:31 -05:00
Aneesh Agrawal
430ed16b98 servo: Merge #16487 - Automatically clean old nightlies (from aneeshusa:automatically-clean-old-nightlies); r=larsbergstrom
<!-- Please describe your changes on the following line: -->

Automatically clean old rustc and cargo nightlies on our builders up to preserve disk space.

---
<!-- 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
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #12103 and help with servo/saltfs#321 (github issue number if applicable).

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

<!-- 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: a754c10e79ef237b500bbf173eb7ba43529e51eb
2017-04-18 11:00:27 -05:00
Aneesh Agrawal
6742f0f6f7 servo: Merge #16505 - Stop mach bootstrap from segfaulting (from aneeshusa:stop-mach-bootstrap-from-segfaulting); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->

See the commit message for details; the top-level import of Mako causes `./mach bootstrap` to segfault in glibc while exiting, seems to have to do with the native `_speedups.so` library of MarkupSafe, a Mako dependency.

Needed for servo/saltfs#631.
cc @emilio to make sure this is OK for stylo (e.g. #13171)

---
<!-- 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
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #12103 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because the test is part of servo/saltfs#631

<!-- 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: 7413c716fb954c1dd27c39929e27bd7b4b188720
2017-04-18 06:10:46 -05:00