Commit graph

87 commits

Author SHA1 Message Date
Simon Sapin
515c5ef540 Tidy 2016-04-20 17:19:25 +02:00
Simon Sapin
2d8c17e600 Extract some Python code from properties.mako.rs into a separate file. 2016-04-20 15:30:27 +02:00
Simon Sapin
7787b21e30 Move Mako-related files into a new sub-directory.
There’s gonna be more of them.
2016-04-20 14:49:27 +02:00
Simon Sapin
6e95bd8e50 style::properties : move generated file out of source tree, use new-style Cargo build script. 2015-01-30 15:08:30 +01:00
Simon Sapin
d13d36f57f End the libstyle 'pub use' madness. 2015-01-30 15:08:29 +01:00
Simon Sapin
493a9e6a89 Bring CSS parse error reporting back. (Still off by default. Enable with RUST_LOG=style.) 2015-01-30 15:07:29 +01:00
Simon Sapin
966af0030a Upgrade to rust-cssparser master.
* Use associated types
* Avoid mutation to gather parsing results.
2015-01-30 15:07:29 +01:00
Patrick Walton
5fdaba05a6 layout: Implement text-align: justify and text-justify per
CSS-TEXT-3 § 7.3.

`text-justify: distribute` is not supported.

The behavior of `text-justify: none` does not seem to match what Firefox
and Chrome do, but it seems to match the spec.

Closes #213.
2015-01-29 17:00:41 -08:00
Ms2ger
505159a464 Import the util crate as util rather than servo_util.
This used to conflict with the util crate from the standard library, which
has long since been removed.

The import in layout has not been changed because of a conflict with the
util mod there.
2015-01-29 12:16:41 +01:00
bors-servo
c8e68fa45c auto merge of #4592 : pcwalton/servo/text-overflow, r=mbrubeck
Only the one-value syntax is supported for now.

r? @mbrubeck
2015-01-28 17:24:50 -07:00
Patrick Walton
0f8e436745 layout: Implement text-overflow: ellipsis per CSS-UI-3 § 6.2.
Only the one-value syntax is supported for now.
2015-01-28 16:23:31 -08:00
Patrick Walton
abddfa742f gfx: Implement font-stretch per CSS3-FONTS § 3.3 in the Core Text
font backend.
2015-01-28 12:42:52 -08:00
Josh Matthews
95fc29fa0d Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev. 2015-01-28 10:16:49 +10:00
Simon Sapin
d034a6c6bc Port to the new cssparser.
https://github.com/servo/rust-cssparser/pull/68
2015-01-21 22:23:46 +01:00
Ms2ger
01ed338746 Move to to_owned rather than into_string.
into_string has been removed from Rust.
2015-01-20 14:49:07 +01:00
Bruno de Oliveira Abinader
dc008977f9 Share supported CSS properties between style and CSSStyleDeclaration
Avoids duplicated code when implementing the CSS properties accessors in
CSSStyleDeclaration WebIDL. Servo internal CSS properties are not
accessible.

CSS property "float" is unnacessible because we currently lack support
for BinaryName IDL annotation (#4435).

Fixes #4429, #4430.
2015-01-19 13:21:03 -04:00
Patrick Walton
97d3443003 layout: Implement mix-blend-mode per COMPOSITING § 3.4.1.
`background-blend-mode` is not yet supported because we don't support
multiple backgrounds yet.
2015-01-12 08:02:41 -08:00
Patrick Walton
15d60d7ea4 layout: Implement filter per CSS-FILTERS § 5.
`blur` and `drop-shadow` are not yet supported, because the
`text-shadow` PR makes some fundamental changes to blur rendering that
are needed first.
2015-01-09 07:26:13 -08:00
Patrick Walton
53b74ae853 layout: Implement text-rendering per SVG 1.1 § 11.7.4.
Like Gecko, we treat `geometricprecision` the same as
`optimizelegibility` for now.
2015-01-08 12:32:58 -08:00
Patrick Walton
af7cf26e76 layout: Implement outline-offset per CSS-UI-3 § 5.5. 2015-01-08 10:49:54 -08:00
bors-servo
a88e668091 auto merge of #4530 : pcwalton/servo/pointer-events, r=mbrubeck
SVG-only values are not yet supported.

r? @mbrubeck
2015-01-08 10:48:55 -07:00
Patrick Walton
0627d4c599 layout: Implement word-break: break-all per CSS3-TEXT § 5.2. 2015-01-08 09:04:24 -08:00
Patrick Walton
899c9429d0 layout: Implement pointer-events: none per SVG 1.1 § 16.6.
SVG-only values are not yet supported.
2015-01-08 08:32:26 -08:00
Ms2ger
16c7060bc8 Update rustc to revision 2cfb5acb5a2751c759627377e602bac4f88f2d19. 2015-01-08 09:58:46 -05:00
Patrick Walton
bf540d590a layout: Explicitly thread border box dimensions and relative offsets
through display list building.

The old `flow_origin` concept was ill-defined (sometimes the border box
plus the flow origin, sometimes including horizontal margins and
sometimes not, sometimes including relative position and sometimes not),
leading to brittleness and test failures. This commit reworks the logic
to always pass border box origins in during display list building.
2015-01-04 17:43:05 -08:00
Ms2ger
3be587606f Import ast::ComponentValue more consistently. 2015-01-04 15:23:08 +01:00
Ms2ger
d5c64f7f30 Remove dummy deriving attributes.
Traits cannot be derived for typedefs. The upcoming rust update will make
those attributes compilation errors.
2015-01-02 19:04:20 +01:00
Ms2ger
b51e83819d Fix obsolete format traits.
They are to be removed from the language in the next rust upgrade.
2015-01-02 19:04:18 +01:00
Ms2ger
b6117a57aa Replace the remaining to_string calls by into_string calls. 2014-12-31 10:34:44 +01:00
Simon Sapin
a29cb0e5d0 Move the define_css_keyword_enum macro to the style crate. 2014-12-29 21:52:12 +01:00
Simon Sapin
b9a57531ea Remove some tabs
@jdm, can you configure your editor to not insert them in the first
place?
2014-12-29 16:19:09 +01:00
Simon Sapin
8be85c5e6b Implement ToCss for Cursor and de-duplicate variants and string values. 2014-12-29 16:19:09 +01:00
Simon Sapin
45a08c94a4 Implement ToCss for types in style::properties::common_values::specified 2014-12-29 16:19:09 +01:00
Simon Sapin
4a9d5b1130 Upgrade cssparser to a version with the new ToCss trait. 2014-12-29 16:19:09 +01:00
Manish Goregaokar
475ff4dcb7 style: to_string() -> into_string() 2014-12-27 14:48:35 +01:00
Patrick Walton
6b28965b94 layout: Implement clip per CSS 2.1 § 11.1.2.
Only the recommended, comma-separated syntax is supported.
2014-12-18 13:07:13 -08:00
Josh Matthews
6bffc10445 Address review comments. 2014-12-18 12:54:03 -05:00
Josh Matthews
9d82e06e64 Implement RemoveProperty, SetProperty, and supported property indices. 2014-12-18 12:54:02 -05:00
Glenn Watson
037f6c2cae Rebase and update new css properties. 2014-12-18 12:54:02 -05:00
Glenn Watson
442c28d9f7 Fixups for rust upgrade and jsref changes. 2014-12-18 12:54:02 -05:00
Josh Matthews
5ca61c00b9 Add a ton of properties and improve a bunch of serialization. 2014-12-18 12:54:02 -05:00
Josh Matthews
755ebd6528 Improve color serialization by retaining author-specified keywords. 2014-12-18 12:54:02 -05:00
Josh Matthews
6f8a9b6d46 Implement setting element style properties. Improve serialization to return initial values when unspecified. 2014-12-18 12:54:02 -05:00
Josh Matthews
505e1855a3 Implement something like CSS value serialization. Fetch actual inline style declarations from owning elements. 2014-12-18 12:54:02 -05:00
bors-servo
e2267e0a07 auto merge of #4358 : pcwalton/servo/cursor, r=mbrubeck
I'm not sure how we want to handle Linux cursors, and GLFW has no
ability to set cursors (short of disabling it and managing it yourself).

If you test this in the wild you will probably hit #4357 until that PR lands.
2014-12-18 00:24:49 -07:00
Patrick Walton
7371e0b8e3 compositing: Implement cursor per CSS3-UI § 8.1.1 in the CEF/Mac port.
I'm not sure how we want to handle Linux cursors, and GLFW has no
ability to set cursors (short of disabling it and managing it yourself).
2014-12-17 22:58:52 -08:00
Patrick Walton
a3f6f4e75b layout: Implement caption-side per CSS 2.1 § 17.4.1.
`caption-side` is used by 4% of pages by number of loads.
2014-12-17 22:06:14 -08:00
Patrick Walton
5675274c44 layout: Implement empty-cells per CSS 2.1 § 17.6.1.1. 2014-12-17 21:25:12 -08:00
Ms2ger
466faac2a5 Update rustc to revision 3dcd2157403163789aaf21a9ab3c4d30a7c6494d. 2014-12-17 15:19:45 -05:00
Patrick Walton
3029fbab92 layout: Implement basic lists and the CSS1 list properties.
The exact rendering is ill-spec'd. Some things are ugly (especially the
width and height of list style images) but they are infrequently used
and I believe this implementation matches the spec. Numeric lists are
not supported yet, since they will require a separate layout pass.

The implementation is a subclass of `BlockFlow`, on advice from Robert
O'Callahan.
2014-12-15 16:25:06 -08:00