Commit graph

4470 commits

Author SHA1 Message Date
bors-servo
05deb3dcc8 Auto merge of #7518 - servo:custom-properties, r=pcwalton
Initial support for CSS Custom Properties

https://drafts.csswg.org/css-variables/

Missing: 

* `var()` in shorthand property declarations.
* Correct handling of EOF in custom property declarations.

r? @pcwalton

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7518)
<!-- Reviewable:end -->
2015-09-03 16:09:02 -06:00
Simon Sapin
c651c2f3db Remove obsolete FIXME comment.
See https://lists.w3.org/Archives/Public/www-style/2015Jul/0360.html
2015-09-03 23:02:25 +02:00
Simon Sapin
a9db4eef14 Factor out custom property name parsing. 2015-09-03 23:02:24 +02:00
Simon Sapin
b4fdb5d803 Substitute var() in longhand property declarations. 2015-09-03 23:02:22 +02:00
Simon Sapin
b2ee828520 [T]::position_elem is deprecated. 2015-09-03 23:02:22 +02:00
Simon Sapin
1d47857be9 Invalid at computed-value time customp properties get their inherited value. 2015-09-03 23:02:21 +02:00
Simon Sapin
a18a1a8d79 Add a FIXME comment of EOF handling in custom properties. 2015-09-03 23:02:20 +02:00
Simon Sapin
c3b8b39437 An empty <declaration-value> is invalid. 2015-09-03 23:02:19 +02:00
Simon Sapin
4bf28417b4 Make custom property substitution do less work.
When var() is substituted, record that result rather than re-compute it later.
2015-09-03 23:02:18 +02:00
Simon Sapin
1c1a9379a3 Substitute var() in custom properties at computed value time. 2015-09-03 23:02:17 +02:00
Simon Sapin
7bcf9f0c9a Use nested parsers as appropritate 2015-09-03 23:02:16 +02:00
Simon Sapin
5fb6acb753 Rename DeclaredValue::SpecifiedValue to DeclaredValue::Value 2015-09-03 23:02:15 +02:00
bors-servo
0ad284766b Auto merge of #7443 - mbrubeck:get_table, r=pcwalton
Implement get_table_for_tag on FreeType

Updates freetype to pick up servo/rust-freetype#37

r? @glennw

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7443)
<!-- Reviewable:end -->
2015-09-03 14:37:38 -06:00
Matt Brubeck
afafb0b71c Implement get_table_for_tag on FreeType
Also fixes use-after-free of FontTable buffers.
2015-09-03 13:35:44 -07:00
bors-servo
d3efcb707c Auto merge of #7522 - thiagopnts:from-str-canvas, r=Manishearth
Make use of FromStr and Default traits in lib canvas

fixes #7517

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7522)
<!-- Reviewable:end -->
2015-09-03 12:36:23 -06:00
Thiago Pontes
a2a9c0489d Make use of FromStr and Default traits in lib canvas
fixup! Make use of FromStr and Default traits in lib canvas
2015-09-03 14:42:53 -03:00
Patrick Walton
ee8741b7a8 layout: Fix several bugs relating to inline borders, padding, and
margins.

* The code that attempted to strip out borders that span multiple
  fragments in the same element could go wrong if fragments were
  stripped out due to text clumping or whitespace stripping. This patch
  rewrites that code to maintain flags in the inline fragment context
  specifying whether the node is the beginning or end of the element.
  Not only is this easier to maintain, it's closer in spirit to what roc
  originally suggested two years ago: it's isomorphic to "begin element,
  end element" markers for inline layout.

* Padding and margins for spans containing inline-blocks are now
  properly handled via a division of labor between the `InlineBlock`
  fragment and the `BlockFlow` that represents the inline-block.

* Unscanned text fragments may not be joined together into a text run if
  borders, padding, or margins separate them.

Because Servo now matches the rendering of Gecko and WebKit on the
`input_button_margins_a` reftest, I had to modify it to add some
vertical alignment.

The combined effect of all of these fixes places "Advertising" on the
right place on google.com.
2015-09-03 10:24:59 -07:00
Corey Farwell
68e65d775a Upgrade rust-block to silence warning
https://github.com/SSheldon/rust-block/pull/1

Relevant to https://github.com/servo/servo/pull/7513
2015-09-03 00:00:48 -04:00
bors-servo
0f596cdb55 Auto merge of #7521 - eefriedman:unnecessary-refcell, r=jdm
Remove unnecessary uses of DOMRefCell.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7521)
<!-- Reviewable:end -->
2015-09-02 17:28:37 -06:00
Eli Friedman
57a3e1465c Remove unnecessary uses of DOMRefCell. 2015-09-02 15:21:57 -07:00
bors-servo
d01ab61734 Auto merge of #7519 - Manishearth:clippyfix, r=SimonSapin
Make style clippy-free

(except for properties.rs)

I might add more fixes to this PR later.

r? @SimonSapin

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7519)
<!-- Reviewable:end -->
2015-09-02 16:11:30 -06:00
Manish Goregaokar
97422ad252 Various fixes in style 2015-09-03 03:16:00 +05:30
Manish Goregaokar
840e4c90d5 Fix match_ref_pats issues in values.rs 2015-09-03 03:15:46 +05:30
Manish Goregaokar
768cc79146 Various fixes in stylesheets 2015-09-03 03:15:16 +05:30
bors-servo
da02dba979 Auto merge of #7511 - psdh:attrtokato, r=Ms2ger
make AttrVal tokens() and atom() return or panic

Fixes #7479

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7511)
<!-- Reviewable:end -->
2015-09-02 15:03:10 -06:00
bors-servo
ded6159d48 Auto merge of #7516 - frewsxcv:dirty-script-dir, r=metajack
Allow 'script' component to enter a 'built' state

After this pull request merged:

https://github.com/servo/servo/pull/7209

the 'script' component would never enter a 'built' state. In other
words, if one calls `mach build`, lets it complete, then calls `mach
build` again, the 'script' component would rebuild even though we
supposedly just built it. This was due to the `ParserResults.pkl`
getting placed in the `components/script` directory instead of the
output directory, causing cargo to think that there were unbuilt files.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7516)
<!-- Reviewable:end -->
2015-09-02 14:29:21 -06:00
Corey Farwell
8792aa7fc0 Allow 'script' component to enter a 'built' state
After this pull request merged:

https://github.com/servo/servo/pull/7209

the 'script' component would never enter a 'built' state. In other
words, if one calls `mach build`, lets it complete, then calls `mach
build` again, the 'script' component would rebuild even though we
supposedly just built it. This was due to the `ParserResults.pkl`
getting placed in the `components/script` directory instead of the
output directory, causing cargo to think that there were unbuilt files.
2015-09-02 16:14:04 -04:00
bors-servo
b1b8258a87 Auto merge of #7515 - Ms2ger:devtools-lint, r=jdm
Lint devtools.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7515)
<!-- Reviewable:end -->
2015-09-02 12:32:44 -06:00
bors-servo
3424e234c8 Auto merge of #7499 - nerith:style, r=metajack
Improve style nit check for space after a comma

Fixes #7345.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7499)
<!-- Reviewable:end -->
2015-09-02 12:05:58 -06:00
Ms2ger
0decdaaf99 Make devtools depend on plugins. 2015-09-02 19:51:23 +02:00
Ms2ger
1257a33394 Stop calling to_string() in devtools. 2015-09-02 19:51:22 +02:00
Ms2ger
62a98e4918 Cleanup write_json_packet. 2015-09-02 19:51:20 +02:00
Prabhjyot Singh Sodhi
105ea0d690 renaming tokens(), atom() and uint() and rewriting to return or panic 2015-09-02 22:20:33 +05:30
Sean McArthur
a1a9db8ffd net: use connection pooling 2015-09-02 12:46:53 -04:00
Simon Sapin
3fcd8938f3 Support CSS-wide keywords in custom properties 2015-09-02 18:32:38 +02:00
Simon Sapin
65d4ecaa39 Remove custom property declarations in dependency cycles. 2015-09-02 18:32:37 +02:00
Simon Sapin
09e60beb78 Add parsing of CSS Custom Properties. 2015-09-02 18:32:36 +02:00
bors-servo
b7c88dd547 Auto merge of #7513 - frewsxcv:bump-no-warnings, r=Ms2ger
Upgrade some dependencies to silence warnings

In order to pick up these changes:

* servo/euclid#101
* netvl/xml-rs#102
* jgraham/webdriver-rust#17
* ecoal95/rust-offscreen-rendering-context#27

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7513)
<!-- Reviewable:end -->
2015-09-02 09:42:29 -06:00
bors-servo
e1ede2074d Auto merge of #7429 - GyrosOfWar:serialize_list_space_fix, r=jdm
Fixed serialize_list to no longer append an additional space at the e…

…nd of the string.

Fixes #7404

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7429)
<!-- Reviewable:end -->
2015-09-02 09:15:16 -06:00
Corey Farwell
096ac214b6 Upgrade some dependencies to silence warnings
In order to pick up these changes:

* https://github.com/servo/euclid/pull/101
* https://github.com/netvl/xml-rs/pull/102
* https://github.com/jgraham/webdriver-rust/pull/17
* https://github.com/ecoal95/rust-offscreen-rendering-context/pull/27
2015-09-02 10:53:52 -04:00
bors-servo
eaf90c0b1c Auto merge of #7452 - nox:cleanup-attributes, r=nox
Introduce VirtualMethods::attribute_mutated()



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7452)
<!-- Reviewable:end -->
2015-09-02 08:14:33 -06:00
Martin Tomasi
ccddc3c13e Fixed serialize_list to no longer append an additional space at the end of the string 2015-09-02 15:46:04 +02:00
Anthony Ramine
58e1bd0e57 Introduce VirtualMethods::attribute_mutated()
This replaces before_remove_attr(), after_remove_attr() and after_set_attr().
The virtual method takes the mutated attribute and an AttributeMutation value
to disambiguate between "attribute is changed", "attribute is added" and
"attribute is removed".

In the case of "attribute is changed", the mutation value contains a reference
to the old value of the mutated attribute, which is used to unregister outdated
named elements when the "id" attribute is changed on an element.

This greatly simplifies the handling of attributes, which in many cases don't
have any specific behaviour whether they are removed or changed or added. It
also fixes a few bugs where things were put in before_remove_attr() instead of
after_remove_attr() (e.g. when removing an href attribute from a base element).

A few helper functions in Element were also renamed and made private.
2015-09-02 15:45:38 +02:00
bors-servo
a547ae6826 Auto merge of #7496 - servo:calc_, r=SimonSapin
Implement CSS3 Calc

This is #7185 with one commit added to make it build merged with master, which got support for the `ch` unit in the meantime.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7496)
<!-- Reviewable:end -->
2015-09-02 02:33:18 -06:00
Simon Sapin
b51b7dd2ce Fix ch/em confusion. 2015-09-02 10:14:00 +02:00
Simon Sapin
9f48dcd858 Fix font-size keywords parsing. 2015-09-02 09:54:38 +02:00
Simon Sapin
40b4348824 Upgrade to rustc 1.4.0-dev (cb9323ec0 2015-09-01) 2015-09-02 09:22:17 +02:00
bors-servo
ba2cb77c26 Auto merge of #7503 - mrobinson:iframe-issue, r=glennw
Upgrade to the latest rust-layers

This should fix a bug where hidden iframes are not properly clipped
away from the compositor scene. This commit adds a test for this
behavior.

Fixes #6849.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7503)
<!-- Reviewable:end -->
2015-09-01 22:18:52 -06:00
bors-servo
a844c0b0e8 Auto merge of #7500 - farodin91:viewport, r=jdm
Implement viewport functions for window #1718

@jdm r?
closes #6875

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7500)
<!-- Reviewable:end -->
2015-09-01 21:31:25 -06:00
Mathieu Rheaume
ba1109b920 Issue #7501 emove unused time function in time module of profile 2015-09-01 21:51:57 -04:00