Commit graph

35 commits

Author SHA1 Message Date
Manish Goregaokar
7e8c583494
Resync bindings 2016-09-10 23:11:44 +08:00
UK992
93a103ba73 Reorder use statements 2016-09-09 04:55:19 +02:00
Emilio Cobos Álvarez
468b329645
style: Provide whether we're styling or not to rust-selectors.
This makes us not adding the flags to everything in servo.
2016-08-31 17:27:15 -07:00
Xidorn Quan
3bb7fdf025 Avoid LLVM prepending "_" for msvc32 symbols. 2016-08-30 11:23:14 +10:00
Simon Sapin
899192e046 Update cssparser
Today’s Rust Nigthly broke it
2016-08-28 23:10:56 +02:00
Anthony Ramine
1c4cc6c703 Update selectors to 0.11
This brings :not() with proper list of complex selectors as argument.
2016-08-20 11:24:17 +02:00
bors-servo
609d47b44f Auto merge of #12878 - Manishearth:clip-path, r=heycam
stylo: Support clip-path

Todo:

 - [x] `set_clip_path` (probably needs a bunch of gecko bindings for running constructors/destructors)
 - [ ] Ensure that I've ordered the coordinates correctly
 - [ ] Check that it works
 - [x] Might want to convert NS_STYLE_FILL_RULE and NS_RADIUS to enum classes

Depends on:

 - https://github.com/servo/rust-bindgen/pull/29
 - https://github.com/Manishearth/gecko-dev/compare/servo:stylo...Manishearth:clip-path

<!-- 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/12878)
<!-- Reviewable:end -->
2016-08-19 14:24:08 -05:00
Manish Goregaokar
3895b7118e
Handle clip-path in stylo 2016-08-19 23:36:37 +05:30
Simon Sapin
d690bd2382 Update selectors to 0.10, with ToCss serialization. 2016-08-18 14:46:24 +02:00
bors-servo
18390dbd48 Auto merge of #12906 - servo:ffiless, r=emilio
Remove some use of FFI in gecko_string_cache

Now that nsIAtom’s mLength and mString can both be accessed directly on the struct, fewer operations need to call into C++ code.

These functions are not used anymore and can be removed from the Gecko side:

* `Gecko_GetAtomAsUTF16`
* `Gecko_AtomEqualsUTF8IgnoreCase`
* `Gecko_AtomEqualsUTF8` (looks like this one was already unused before this PR)

r? @emilio

---
<!-- 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 new require tests because no behavior change

<!-- 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/12906)
<!-- Reviewable:end -->
2016-08-17 20:44:42 -05:00
Emilio Cobos Álvarez
3af774bd75
Rewrite the style sharing candidate cache.
The style candidate cache had regressed a few times (see #12534), and my
intuition is that being able to disable all style sharing with a single rule in
the page is really unfortunate.

This commit redesigns the style sharing cache in order to be a optimistic cache,
but then reject candidates if they match different sibling-affecting selectors
in the page, for example.

So far the numbers have improved, but not so much as I'd wanted (~10%/20% of
non-incremental restyling time in general). The current implementation is really
dumb though (we recompute and re-match a lot of stuff), so we should be able to
optimise it quite a bit.

I have different ideas for improving it (that may or may not work), apart of the
low-hanging fruit like don't re-matching candidates all the time but I have to
measure the real impact.

Also, I need to verify it against try.
2016-08-17 14:16:16 -07:00
Simon Sapin
e6b8eda8f3 Remove some use of FFI in gecko_string_cache
Now that nsIAtom’s mLength and mString can both be accessed
directly on the struct, fewer operations need to call into C++ code.
2016-08-17 15:53:35 +02:00
Emilio Cobos Álvarez
09cc240d4c
stylo: Add debug docs assertion in Atom::from_static() 2016-08-15 23:02:24 -07:00
Emilio Cobos Álvarez
2b3c684b37
stylo: Add sugar over the bitfield accessors in nsIAtom. 2016-08-15 23:00:16 -07:00
Emilio Cobos Álvarez
24168f87eb
stylo: privatize Atom::chars() 2016-08-15 23:00:06 -07:00
Emilio Cobos Álvarez
d612d9f5ef
stylo: Convert pseudo-elements to an Atom wrapper. 2016-08-15 22:58:33 -07:00
Emilio Cobos Álvarez
b1091dff58
stylo: Regenerate the world. 2016-08-15 22:58:32 -07:00
Emilio Cobos Álvarez
12fcb7a2e7
stylo: Allow regenerating atoms as part of the normal generation of bindings.
This configures the regeneration of atoms as part of the normal generation of
bindings, so it stops being a whole different process.

This also adds a generated file to components/style/generated with a convenience
macro invocation for pseudo-elements, which comes handy in order to avoid
duplication.
2016-08-15 22:58:32 -07:00
Emilio Cobos Álvarez
f9f347e80f
string_cache nits. 2016-08-15 22:58:31 -07:00
Anthony Ramine
7ad51dcd7a Update serde to 0.8 (fixes #12659) 2016-08-12 18:37:27 +02:00
Simon Sapin
cf05cd934d Bring back the Namespace newtype. 2016-08-09 18:18:41 +02:00
Simon Sapin
fdb2071b2d Update to selectors 0.8.2 2016-08-09 18:18:38 +02:00
Eduard Burtescu
3d8eab424c Update Rust to 1.12.0-nightly (9316ae515 2016-07-24) 2016-07-26 19:35:51 +02:00
Alan Jeffrey
62e95c5a61 All our Cargo.toml files should contain an MPL-2.0 license field. 2016-07-14 10:26:34 -05:00
Xidorn Quan
af3833d674 Generate atom bindings for msvc 2016-07-13 11:18:53 +10:00
Emilio Cobos Álvarez
e015e87697
geckolib: fix geckolib build by implementing display on Atoms. 2016-06-28 15:27:58 +00:00
Anthony Ramine
38a79e4506 Update Rust to 1.11.0-nightly (ad7fe6521 2016-06-23)
I also properly bump any dependency related to the serde_macros removal
from webrender_traits
2016-06-27 14:13:44 +02:00
Anthony Ramine
abfd52a721 Reorder dependencies 2016-06-26 17:11:27 +02:00
bors-servo
bc5a52b328 Auto merge of #11784 - heycam:atom, r=bholley
Look at nsIAtom.mHash directly rather than call Gecko_HashAtom.

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

We hash Gecko-backed atoms pretty often.  Using bindgen to access to the stored hash in nsIAtom helps with perf a little.

r? @bholley

---
<!-- 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="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11784)
<!-- Reviewable:end -->
2016-06-21 16:33:44 -05:00
Keith Yeung
d66a04ea6c Update string_cache to v0.2.20 2016-06-20 12:17:28 +08:00
Cameron McCormack
0bf1f2793b Look at nsIAtom.mHash directly rather than call Gecko_HashAtom. 2016-06-18 23:13:44 +10:00
Bobby Holley
b90b4a5e0f Add performant implementations of get_id, has_class, and each_class. 2016-05-25 22:15:13 -07:00
Rahul Sharma
6a0dde6485 Bump string-cache to 0.2.18 2016-05-25 14:35:36 +05:30
Keith Yeung
b2ae32917b Update string_cache to 0.2.17 2016-05-23 09:19:14 -04:00
Bobby Holley
b521c293dc Add string_cache override for geckolib based on gecko atoms.
The work in these patches is based on Ms2ger's gecko-atom crate.
2016-05-18 11:33:38 -07:00