Commit graph

19132 commits

Author SHA1 Message Date
bors-servo
14aeccc33a Auto merge of #12392 - emilio:test-animations, r=SimonSapin
style: Add support to test animations programatically.

<!-- 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
- [x] These changes fix #12120

<!-- Either: -->
- [x] There are tests for these changes OR

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

r? @SimonSapin for the style changes, @Ms2ger or @jdm for the dom and test changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12392)
<!-- Reviewable:end -->
2016-07-20 13:38:31 -05:00
bors-servo
46db988b90 Auto merge of #12507 - larsbergstrom:remove_clipboard, r=metajack
Remove clipboard crate to due disallowed usage of GPL code

<!-- Please describe your changes on the following line: -->
Fixes #7578, removing usage of rust-clipboard, which contains a disallowed dependency on GPL code.

r? @metajack

---
<!-- 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's a dependency removal

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12507)
<!-- Reviewable:end -->
2016-07-20 11:53:04 -05:00
Lars Bergstrom
ecabb1823b Remove clipboard crate to due disallowed usage of GPL code 2016-07-20 11:44:55 -05:00
Emilio Cobos Álvarez
0b67b218d0
style: Add a new Timer structure to the shared style context, and basic infrastructure for controlling animations. 2016-07-20 09:05:53 -07:00
Emilio Cobos Álvarez
2e68821014
script: Implement Debug on ConstellationControlMsg to simplify script_thread.rs 2016-07-20 09:03:56 -07:00
bors-servo
ca9bc23b39 Auto merge of #12490 - djc:canvas-no-opts, r=jdm
Remove dependency on util::opts from canvas crate

<!-- 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's a small refactoring.

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12490)
<!-- Reviewable:end -->
2016-07-20 09:19:04 -05:00
bors-servo
5832008c26 Auto merge of #12517 - Manishearth:sync, r=heycam
Resync bindings

Corresponds to the tmp-stylo-rebase branch on servo/gecko-dev

Still testing locally

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12517)
<!-- Reviewable:end -->
2016-07-20 08:21:18 -05:00
bors-servo
73cfab0016 Auto merge of #12510 - chenpighead:update-mozlog, r=metajack
Upgrade mozlog package from 3.0 to 3.3.

<!-- Please describe your changes on the following line: -->
Update mozlog to 3.3 so we can have correct reftest screenshots displayed with --log-html.
The original mozlog update bugs are listed as follows:
https://bugzilla.mozilla.org/show_bug.cgi?id=1287019
https://bugzilla.mozilla.org/show_bug.cgi?id=1287480

---
<!-- 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 #12401 and #12403 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because this is just a PyPI package version bumping

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

Update mozlog to 3.3.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12510)
<!-- Reviewable:end -->
2016-07-20 07:21:26 -05:00
bors-servo
b6c0ed9a44 Auto merge of #12426 - asajeffrey:mozbrowser-event-targets, r=SimonSapin
Allow window elements as well as iframes to the the target of mozbrowser events

<!-- Please describe your changes on the following line: -->
Allow mozbrowser events, in particular mozbrowsererror events, to target a window. Needed for https://github.com/browserhtml/browserhtml/issues/1182

---
<!-- 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 #12420
- [X] These changes do not require tests because we're not testing our issue reporting system, which this is intended for.

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12426)
<!-- Reviewable:end -->
2016-07-20 04:41:34 -05:00
bors-servo
2d01d41a50 Auto merge of #12515 - servo:concrete-style, r=bholley
Make the style crate more concrete

Background:

The changes to Servo code to support Stylo began in the `selectors` crate with making pseudo-elements generic, defined be the user, so that different users (such as Servo and Gecko/Stylo) could have a different set of pseudo-elements supported and parsed. Adding a trait makes sense there since `selectors` is in its own repository and has others users (or at least [one](https://github.com/SimonSapin/kuchiki)).

Then we kind of kept going with the same pattern and added a bunch of traits in the `style` crate to make everything generic, allowing Servo and Gecko/Stylo to do things differently. But we’ve also added a `gecko` Cargo feature to do conditional compilation, at first to enable or disable some CSS properties and values in the Mako templates. Since we’re doing conditional compilation anyway, it’s often easier and simpler to do it more (with `#[cfg(feature = "gecko")]` and `#[cfg(feature = "servo")]`) that to keep adding traits and making everything generic. When a type is generic, any method that we want to call on it needs to be part of some trait.

----

The first several commits move some code around, mostly from `geckolib` to `style` (with `#[cfg(feature = "gecko")]`) but otherwise don’t change much.

The following commits remove some traits and many type parameters through the `style` crate, replacing them with pairs of conditionally-compiled API-compatible items (types, methods, …).

Simplifying code is nice to make it more maintainable, but this is motivated by another change described in https://github.com/servo/servo/pull/12391#issuecomment-232183942. (Porting Servo for that change proved difficult because some code in the `style` crate was becoming generic over `String` vs `Atom`, and this PR will help make that concrete. That change, in turn, is motivated by removing geckolib’s `[replace]` override for string-cache, in order to enable using a single Cargo "workspace" in this repository.)

r? @bholley

---
<!-- 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 #__ (github issue number if applicable).

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

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12515)
<!-- Reviewable:end -->
2016-07-20 02:58:34 -05:00
Manish Goregaokar
c94173a238
Resync bindings 2016-07-20 13:11:08 +05:30
Dirkjan Ochtman
29c7c5bec3 Remove dependency on util::opts from canvas crate 2016-07-20 07:38:18 +00:00
Simon Sapin
6d0e48f6cc Remove some type aliases that are now just re-exports. 2016-07-20 08:42:47 +02:00
Simon Sapin
5c70dfab01 Have a concrete SelectorImpl type everywhere in the style crate.
It is conditionally compiled to one implementation or the other
(Gecko or Servo) with `#[cfg(…)]`.
2016-07-20 08:42:46 +02:00
Simon Sapin
4b7060554b Rename ComputedValuesStruct to ComputedValues.
Doing this in a separate commit avoids mixups
with the ComputedValues trait that the previous commit removed.
2016-07-20 08:42:45 +02:00
Simon Sapin
789807b7b0 Remove the ComputedValue traits and style_struct_traits 2016-07-20 08:42:40 +02:00
bors-servo
86ed7bfc09 Auto merge of #12500 - Ms2ger:DOMString, r=nox
Expand the documentation for DOMString.

There was some confusion on IRC about its purpose; hopefully this will clarify the situation.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12500)
<!-- Reviewable:end -->
2016-07-20 01:41:55 -05:00
Simon Sapin
b2a7e44373 Move ServoSelectorImpl to a dedicated module. 2016-07-20 08:40:53 +02:00
Simon Sapin
2f967893f3 Move geckolib/selector_impl.rs -> style/gecko_selector_impl.rs 2016-07-20 08:40:49 +02:00
Simon Sapin
db3607471f Move geckolib/properties.mako.rs to style/properties/gecko.mako.rs 2016-07-20 08:40:22 +02:00
Simon Sapin
2c1f7c8a85 Move geckolib/values.rs to style/gecko_values.rs 2016-07-20 08:33:52 +02:00
Simon Sapin
e945d11fd7 Remove obsolete geckolib/generate_properties_rs.py
It is unused since https://github.com/servo/servo/pull/10749
2016-07-20 08:30:42 +02:00
bors-servo
37604401d0 Auto merge of #12465 - Manishearth:stylo-calc, r=heycam
Add bindings for calc()

This adds bindings for dealing with refcounted calc() values.

So far we can get/set them, but we don't yet have the ability to copy them around. I'll work on that next.

Corresponding gecko bindings at https://github.com/servo/gecko-dev/compare/stylo...Manishearth:stylo-calc?expand=1

f? @emilio @heycam

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12465)
<!-- Reviewable:end -->
2016-07-19 20:57:10 -05:00
bors-servo
3a9fca619d Auto merge of #12506 - servo:geckolib-win, r=larsbergstrom
Rewrite a line in geckolib's properties.mako.rs to fix the build on windows.

Fixes #12505.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12506)
<!-- Reviewable:end -->
2016-07-19 19:41:07 -05:00
Jeremy Chen
aec2e4f1e6 Upgrade mozlog package from 3.0 to 3.3.
With this upgrade, we are able to run wpt test with "--log-html" to see visual
results on screen.
2016-07-19 23:52:33 +08:00
Ms2ger
7dee298003 Rewrite a line in geckolib's properties.mako.rs to fix the build on windows. 2016-07-19 16:00:05 +02:00
bors-servo
efa5a0329a Auto merge of #12457 - johannhof:worker-global, r=Ms2ger
Expose Worker interfaces only to Worker

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

Partial #12415. Let me know if you suspect some other tests may be affected by this.

r? @Ms2ger

---
<!-- 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

<!-- Either: -->
- [x] There (sorta) are tests for these changes

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12457)
<!-- Reviewable:end -->
2016-07-19 04:40:41 -07:00
Johann Hofmann
bad529a0f7
Expose Worker interfaces only to Worker
See #12415.
2016-07-19 12:43:16 +02:00
Ms2ger
94fabbc366 Expand the documentation for DOMString.
There was some confusion on IRC about its purpose; hopefully this will clarify
the situation.
2016-07-19 09:57:51 +02:00
bors-servo
701e678d8e Auto merge of #12499 - Manishearth:sync, r=emilio
Sync stylo bindings

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12499)
<!-- Reviewable:end -->
2016-07-18 23:37:27 -07:00
Manish Goregaokar
f51b115db0
Address review comments 2016-07-19 11:29:13 +05:30
Manish Goregaokar
704d7a01c9
Handle Calc refcounting 2016-07-19 11:29:11 +05:30
Manish Goregaokar
8fddc46020
Allow calc() in GeckoStyleCoordConvertible 2016-07-19 11:29:09 +05:30
Manish Goregaokar
67bcb96cea
Add glue for calc values 2016-07-19 11:29:07 +05:30
Manish Goregaokar
b52b78c340
Regen bindings for Calc 2016-07-19 11:29:05 +05:30
bors-servo
2ce85f1cdd Auto merge of #12498 - upsuper:msvc-bindgen, r=emilio
Support generating bindings for MSVC

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

This pull request includes several patches to the binding generating script to make it work with MSVC. The generated files are not updated because they may not be compatible with other platforms which the majority of developers are working on.

Only `regen.py` is modified. The two `.sh` files are not. Those files are very platform-specific and I don't think it's worth to make them work on Windows at all, and my hope is that we can get rid of those files and only use `regen.py`. I imagine the only left steps to get there are:

1. make clang version detectable via `bindgen` so that we get reliable clang version without needing to duplicate the library searching work (which has already been done in `clang-sys`)
2. checkout the git repo inside the python script and run `cargo build` there

BTW, it seems to me nightly Rust is not required to build `bindgen`, and thus we can probably get rid of the `multirust` detection. (Even if we need that, I think we should prefer `rustup` and optionally fallback to `multirust`. I know `rustup` is not yet available on Homebrew, though...)

---
<!-- 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 is a change to binding generating script

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

r? @emilio

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12498)
<!-- Reviewable:end -->
2016-07-18 22:34:18 -07:00
Manish Goregaokar
8b76bd7c19
Sync stylo bindings 2016-07-19 11:03:21 +05:30
bors-servo
f88ecda362 Auto merge of #12487 - heycam:supports-ffi, r=emilio
Add FFI glue for Gecko to implement 1-arg CSS.supports() with stylo.

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

This adds an FFI function for Gecko to call to implement the 1-arg version of `CSS.supports()`.  This will be useful for producing an automated analysis of CSS properties we lack support for in geckolib.  Corresponding Gecko bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1287382

r? @emilio

---
<!-- 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
- [X] These changes do not require tests because this is a geckolib-only change, and we don't have testing for that yet :(

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12487)
<!-- Reviewable:end -->
2016-07-18 21:25:31 -07:00
Xidorn Quan
c30f7a3f69 Restore mistakenly removed code 2016-07-19 14:22:26 +10:00
Cameron McCormack
64c47ed720 Add FFI glue for Gecko to implement 1-arg CSS.supports() with stylo. 2016-07-19 11:35:34 +08:00
Xidorn Quan
c3e20eb7f5 Fix target check and use "all" as default target 2016-07-19 12:16:38 +10:00
Xidorn Quan
49f7f54331 Add necessary flags for building MSVC binding
Using C++14 mode is necessary because MSVC's std headers include some
C++14 syntax. "utility" is converted to "/utility" to exclude MSVC's
"xutility" header.
2016-07-19 12:16:38 +10:00
Xidorn Quan
cfc27b3df5 Convert platform dictionary to if-else
Makes it more extendible.
2016-07-19 12:16:38 +10:00
Xidorn Quan
9eea2be09e Use Cargo to run bindgen when possible
Cargo would take care of stuff like library injecting, so that it works
cross platform. This is necessary for Windows because Windows doesn't
have things like LD_LIBRARY_PATH env var.
2016-07-19 12:16:38 +10:00
Xidorn Quan
81ccbac103 Close the temporary file before using it
An instance of NamedTemporaryFile would keep the file open in the
current process, however, on Windows, a opened filed is no accessible
from any other process, and thus the following commands use this file
would fail to execute.

To fix this, this commit ensures that the temporary file has been closed
before it is used anywhere else, and removes the temporary file after
everything gets done.
2016-07-19 12:16:38 +10:00
bors-servo
877e480c47 Auto merge of #12497 - glennw:wr-update, r=emilio
Update WR to get fix for texture atlas assert.

<!-- 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
- [ ] `./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. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12497)
<!-- Reviewable:end -->
2016-07-18 18:46:14 -07:00
Glenn Watson
509d779703 Update WR to get fix for texture atlas assert. 2016-07-19 11:43:24 +10:00
bors-servo
589c6eeb0f Auto merge of #12495 - ice9js:implement-runnable-for-PauseIfNotInDocumentTask, r=KiChjang
Implement Runnable trait name method for PauseIfNotInDocumentTask

Implements #12350.

---
<!-- 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 #12350.

<!-- Either: -->
- [X] These changes do not require tests

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12495)
<!-- Reviewable:end -->
2016-07-18 13:18:49 -07:00
Kuba Birecki
fcabcccd9a Implement Runnable trait name method for PauseIfNotInDocumentTask 2016-07-18 21:13:59 +02:00
bors-servo
d28f2b8904 Auto merge of #12361 - stshine:blockify-flex-item, r=pcwalton
Blockify elements in a flex container

<!-- Please describe your changes on the following line: -->
The is one of my pull requests that implement basic flexible box layout.
As the spec stated in https://drafts.csswg.org/css-flexbox/#flex-items ,
A inline-level child of a flex container should be converted to its block equivalent, according to CSS2.1 § 9.7.

---
<!-- 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 flexbox is not actually implemented yet.

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12361)
<!-- Reviewable:end -->
2016-07-18 11:21:04 -07:00