Commit graph

2892 commits

Author SHA1 Message Date
David Raifaizen
f38607967e Fixing python to_css codegen error 2016-05-25 09:25:34 +02:00
Simon Sapin
dc829da07e Less cloning and dynamic dispatch. 2016-05-25 09:25:33 +02:00
David Raifaizen
7d7aac212b Shorthand serialization now takes iterators instead of array slice as argument 2016-05-25 09:25:32 +02:00
David Raifaizen
be2f70393f Adding more efficient way of determining if PropertyDeclaration is important 2016-05-25 09:25:31 +02:00
David Raifaizen
51e642e875 Converted serialization methods to implement the to_css trait, writing to string buffers to save string allocations for every result 2016-05-25 09:25:29 +02:00
David Raifaizen
0985d7563f Making fixes based on suggestions from nox and SimonSapin 2016-05-25 09:24:10 +02:00
David Raifaizen
feff32c4ab For Shorthand impl, added to_name method and copied serialize_shorthand
from cssstyledeclaration.rs file

For PropertyDeclaration impl, added shorthands method to get the shorthands associated
with the current longhand

For PropertyDeclarationBlock impl, added serialize algorithm
2016-05-25 09:24:04 +02:00
Cameron McCormack
cb7f2a1c1b Support display:-moz-(inline-)box in geckolib. 2016-05-25 11:59:33 +10:00
Cameron McCormack
44bdbed989 Support -moz-binding in geckolib. 2016-05-24 12:12:34 +10:00
Cameron McCormack
bb85f5faf0 Add an extra data field to ParserContext.
This will be used for passing Gecko-specific information through
the CSS parser in stylo.
2016-05-24 12:12:10 +10:00
Keith Yeung
6d7b3a4c55 Add -moz-appearance and include nsThemeConstants.h in struct.rs 2016-05-20 04:53:15 -04:00
Keith Yeung
5170f46455 Add -moz-float-edge 2016-05-19 13:42:55 -04:00
bors-servo
f02c4c6403 Auto merge of #11240 - mbrubeck:font-style, r=bholley
Support font-style in geckolib

r? @bholley

<!-- 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/11240)
<!-- Reviewable:end -->
2016-05-18 13:12:55 -07: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
Matt Brubeck
8cab1d6948 Support font-style in geckolib 2016-05-17 16:59:39 -07:00
bors-servo
e0addae51c Auto merge of #11222 - KiChjang:stylo-keywords, r=bholley
Add -moz-user-* CSS longhands for Gecko

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy --faster` does not report any errors
- [x] These changes do not require tests because stylo

r? @bholley

<!-- 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/11222)
<!-- Reviewable:end -->
2016-05-17 14:57:32 -07:00
Keith Yeung
4f4d4cb7b4 Add -moz-user-input 2016-05-17 04:24:00 -04:00
Keith Yeung
ff98e44654 Add -moz-user-select 2016-05-17 04:12:20 -04:00
Keith Yeung
ac9c411d18 Add -moz-user-modify 2016-05-17 04:12:18 -04:00
Keith Yeung
5e2f52df23 Add -moz-user-focus 2016-05-17 04:12:17 -04:00
Matt Brubeck
36699c5748 Support vertical-align in geckolib 2016-05-16 11:34:02 -07:00
bors-servo
2c674d0397 Auto merge of #11192 - perlun:remove-unused-imports, r=Manishearth
Removed unused imports

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #11185
- [X] These changes do not require tests because it only removes dead code.

----

This fixes #11185.

<!-- 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/11192)
<!-- Reviewable:end -->
2016-05-15 15:41:16 -07:00
Per Lundberg
2f7ed1d73e Removed unused imports
This fixes #11185.
2016-05-15 22:24:26 +03:00
Aneesh Agrawal
5457169871 Rename SVGInherited to InheritedSVG 2016-05-14 17:44:53 -04:00
Cameron McCormack
b3a1f5f071 Support text-align in geckolib.
We don't yet support the 'unsafe' keyword, which isn't in a spec yet, and which
would require slightly more complex parsing.
2016-05-12 09:17:27 +10:00
Cameron McCormack
ad7cfcbb7e Support -moz-outline-radius shorthand in geckolib. 2016-05-11 11:10:44 +10:00
Cameron McCormack
2b8f809852 Allow shorthands to be restricted to specific products. 2016-05-11 11:10:42 +10:00
Cameron McCormack
a12493f5fe Support -moz-outline-radius-* in geckolib. 2016-05-11 11:10:41 +10:00
bors-servo
b29ae6383a Auto merge of #11018 - bholley:list_style_type, r=mbrubeck
Geckolib: Implement list-style-type

Corresponding Gecko patch: https://bugzilla.mozilla.org/show_bug.cgi?id=1269933

<!-- 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/11018)
<!-- Reviewable:end -->
2016-05-05 12:23:37 -07:00
bors-servo
8bc4785bed Auto merge of #10999 - heycam:move-width-height, r=SimonSapin
Move width and height from Box to Position.

This helps with style struct alignment between Servo and Gecko.

<!-- 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/10999)
<!-- Reviewable:end -->
2016-05-04 19:52:25 -07:00
bors-servo
ec5f826d18 Auto merge of #10998 - bholley:font_weight_and_logging, r=mbrubeck
Geckolib: implement font-weight and logging support

<!-- 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/10998)
<!-- Reviewable:end -->
2016-05-04 18:37:26 -07:00
Bobby Holley
f1f36efc96 Geckolib: Implement list-style-type. 2016-05-04 14:23:17 -07:00
Cameron McCormack
550d780e17 Move width and height from Box to Position.
This helps with style struct alignment between Servo and Gecko.
2016-05-04 11:06:42 +10:00
Bobby Holley
9fdb791e93 Geckolib: Implement font-weight. 2016-05-03 17:40:03 -07:00
Cameron McCormack
330c47f78e Support {flood,lighting,stop,text-decoration}-color in geckolib. 2016-05-04 09:44:12 +10:00
Cameron McCormack
53649b19d0 Support flex-{grow,shrink}, stroke-miterlimit and -moz-box-flex in geckolib. 2016-05-03 10:01:31 +10:00
Cameron McCormack
d71e5c8b3d Support {fill,stroke,stop,flood}-opacity in geckolib. 2016-05-03 10:01:29 +10:00
Cameron McCormack
0f2dc53b0a Factor out opacity property to use an Opacity type. 2016-05-03 10:01:28 +10:00
Cameron McCormack
d69763b0c1 Generate geckolib setters for properties with simple predefined types. 2016-05-03 10:01:28 +10:00
bors-servo
160a44c286 Auto merge of #10863 - perlun:improve-mako-file-structure-v4, r=SimonSapin
Extracted shorthands to separate files.

Following up on #10813, here is a similar extraction of the shorthand stuff as well.

I've deliberately tried to keep things similarly structured as in the longhand files. I.e. if a given property is in e.g. longhand/box.mako.rs, the shorthand stuff that relates to the same property is in shorthand/box.mako.rs and so forth.

----

The file is now down from ~7000 LoC to ~1750. A big improvement in my eyes, but there's still room for improving more. However, that shouldn't be done until we've had a bit of discussion about it. What we've done so far has been more-or-less obvious (after resolving the underlying Python/Mako issues with how to get things to properly communicate when things got split into multiple files etc). The remaining stuff is basically a plethora of anything from enums to structs to impls to... you name it.

One way to try and sort this out is to continue abusing Mako %include:s for this. I'm not sure it's the right way, but it would be a reasonably _easy_ way to do it. Another way would be to use Rust modules/crates etc. for sorting it out. I feel like too much of a novice on the Rust side of stuff yet to have any sensible opinions on how to get that done, so here I'd very much like suggestions from other people in the project.

(This is more of an entry point for discussion, and we could very well move that to a separate issue if you like. I think the more important short-term point is to try and get this merged. 😊 Please let me know if you feel it is OK, and if not, feel free to suggest adjustments.)

<!-- 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/10863)
<!-- Reviewable:end -->
2016-04-29 10:57:21 -07:00
Cameron McCormack
dafc683aef Specialize text node style resolution so geckolib can avoid inheriting non-inherited structs. 2016-04-29 10:07:59 +10:00
Cameron McCormack
88f51af3f8 Add Servo_GetStyleFoo functions to get style structs from GeckoComputedValues.
While we're here we also:

* remove any code conditional on style_struct.gecko_ffi_name, since all
  style structs now do have a corresponding Geckos struct

* add new UIReset and XUL style structs, so that all Gecko structs are
  now present (apart from Variables, which is special)
2016-04-27 17:13:26 +10:00
Per Lundberg
38f90a3e2e Extracted shorthands to separate files.
I've deliberately tried to keep things similarly structured as in the longhand files. I.e. if a given property is in e.g. longhand/box.mako.rs, the shorthand stuff that relates to the same property is in shorthand/box.mako.rs and so forth.
2016-04-26 23:12:35 +03:00
Per Lundberg
4e8831457a Moved the rest of the longhand structs to separate files.
Sorry for the bulk size of this; I know already it's not going to be a fun thing to review. Nevertheless, it should be done so we finalize the split of this huge file into smaller, more maintable parts.

The content of stuff being moved to separate files is unchanged. Only some minor formatting changes have been made and similar, but nothing of particular interest. IMHO it should be safe to merge if all the tests are fine.
2016-04-25 21:36:58 +03:00
Daniel Robertson
2d9d31ee04
Add style property for flex-basis
Add the style property for flex-basis. The property should allow all
values acceptable for `width`|`height` with the addition of `content`.
2016-04-24 14:04:40 -04:00
Bobby Holley
1a727225a6 Unstub text-orientation.
The spec has changed a bit since the servo implementation. We still need to alias
sideways-right to sideways and add other writing modes, but we can do that later.
2016-04-21 23:57:41 -07:00
Bobby Holley
bba4447637 Support the text-decoration-style property. 2016-04-21 23:57:35 -07:00
Bobby Holley
980c814e2a Manually implement the display property for now. 2016-04-21 23:57:31 -07:00
Bobby Holley
cc35d4fcce Get rid of some of our custom additional methods in favor of clonable keywords.
Now that I'm pretty convinced we can auto-generate these and make them fast, we can
ditch the additional complexity.
2016-04-21 23:57:29 -07:00
Bobby Holley
456b05e9cf Make predefined_type use kwargs. 2016-04-21 23:57:28 -07:00