Commit graph

1145 commits

Author SHA1 Message Date
bors-servo
1b2450339c Auto merge of #12757 - emilio:stylo, r=bholley,pcwalton
stylo: Stop restyling display: none elements, remove the has_changed hack that made us use ReconstructFrame unconditionally.

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

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

r? @bholley

<!-- 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/12757)
<!-- Reviewable:end -->
2016-08-10 21:02:30 -05:00
Emilio Cobos Álvarez
9b8eac000f
Don't create unneeded temporaries in style traversals. 2016-08-10 18:26:29 -07:00
Emilio Cobos Álvarez
d1090065f7
style: Document the value of StyleWasShared's RestyleResult 2016-08-10 18:26:28 -07:00
Emilio Cobos Álvarez
a36762a9a2
style: Fix pseudo-element restyling. 2016-08-10 18:26:25 -07:00
Emilio Cobos Álvarez
1c322f35a6
Make RestyleDamage::compute take no optional argument, delegate the handling to the caller. 2016-08-10 18:26:24 -07:00
Emilio Cobos Álvarez
6b60383f24
layout: Ensure a element's style is up to date when processing queries. 2016-08-10 18:26:23 -07:00
Emilio Cobos Álvarez
544a117911
style: Force to stop computing children if we find the parent has display: none. 2016-08-10 18:26:21 -07:00
Emilio Cobos Álvarez
436c1b3089
stylo: Allow bypassing the bottom-up traversal. 2016-08-10 18:26:20 -07:00
Bobby Holley
7f417728d4 Update bindings. 2016-08-10 12:07:12 -07:00
Bobby Holley
1cd76c2917 Handle enum classes for clonable properties. 2016-08-10 12:07:10 -07:00
Ravi Shankar
69c422f581 Support 'word-spacing' for geckolib 2016-08-10 15:03:28 +05:30
Emilio Cobos Álvarez
880d1120a3
style: Remove misleading comment.
can_be_fragmented is just a flag in Servo, and a no-op in Gecko.
2016-08-09 11:24:18 -07: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
Simon Sapin
f419db834c Replace the SelectorImplExt trait with inherent methods. 2016-08-09 18:17:13 +02:00
bors-servo
3b676bc85d Auto merge of #12783 - Wafflespeanut:word_spacing, r=Manishearth
Prefer length and percentage for word spacing

<!-- Please describe your changes on the following line: -->
The goal is to make use of `LengthOrPercentage` for word spacing in `ShapingOptions`, but since it makes use of `f32` which doesn't implement `Hash`, we're going for `NotNan<f32>` from [ordered-float](https://github.com/reem/rust-ordered-float/), which supports hashing. Instead of implementing `Hash` for `LengthOrPercentage` and thereby the inner types like `CSSFloat`, `CalcLengthOrPercentage`, etc., we convert it to `(Au, NotNan<f32>)`.

---
<!-- 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: -->
- [ ] There 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/12783)
<!-- Reviewable:end -->
2016-08-09 10:13:30 -05:00
Anthony Ramine
fc58cc01f4 Fix interpolation of CalcLengthOrPercentage (fixes #12765) 2016-08-09 14:47:38 +02:00
Ravi Shankar
a04028eede Prefer length and percentage for word spacing 2016-08-09 17:53:40 +05:30
Anthony Ramine
2c7d1ddfa1 Fix basic_shape warnings (fixes #12762) 2016-08-08 15:55:22 +02:00
Bobby Holley
8f991f76bd stylo: Use AtomicUsize to store our initial computed values. 2016-08-05 13:42:38 -07:00
bors-servo
414204c909 Auto merge of #12712 - servo:rustup, r=Ms2ger
Update Rust to 1.12.0-nightly (545a3a94f 2016-08-04)

<!-- 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/12712)
<!-- Reviewable:end -->
2016-08-05 07:46:27 -05:00
Anthony Ramine
f88302ebf3 Update Rust to 1.12.0-nightly (545a3a94f 2016-08-04) 2016-08-05 14:45:32 +02:00
bors-servo
0fc0db67c6 Auto merge of #12680 - Manishearth:basic-shape, r=SimonSapin
style: Add support for parsing and serialization of <basic-shape>s

Still WIP: I still need to use this somewhere and make serialization minimal. I'm not sure if I should do either in this PR.
The only other browser that handles basic shapes doesn't serialize correctly either (https://bugzilla.mozilla.org/show_bug.cgi?id=1290864), so that's not something we need to get done now.

As far as using this somewhere, I have the following options:

 - Merge this now, work on using it in stylo in a followup.
 - Just write extensive unit tests for parsing/serialization for now (stylo in a followup)
 - Use this for clip-path in stylo only (which I intend to do anyway, just not sure if I should do it in this PR)
 - Use this for clip-path in Servo (I'd rather not do this; this would be a huge change requiring a lot more layout knowledge than I currently have)

Thoughts? Review? @SimonSapin @bholley

<!-- 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/12680)
<!-- Reviewable:end -->
2016-08-05 06:27:24 -05:00
Manish Goregaokar
234219cd84 Address review comments 2016-08-05 16:58:38 +05:30
bors-servo
54b3668431 Auto merge of #12728 - upsuper:fix-libc-unused, r=emilio
Remove unused libc dependency for windows in style

<!-- 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 its a trivial change to remove unused dependency

<!-- 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/12728)
<!-- Reviewable:end -->
2016-08-04 04:27:55 -05:00
bors-servo
939e0a5f89 Auto merge of #12725 - bholley:fix_leaks, r=emilio
stylo: fix leaks, and accept null in Servo_InheritComputedValues

This corresponds to changes in:

https://bugzilla.mozilla.org/show_bug.cgi?id=1291885
and
https://bugzilla.mozilla.org/show_bug.cgi?id=1291891

<!-- 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/12725)
<!-- Reviewable:end -->
2016-08-03 20:20:21 -05:00
Bobby Holley
b916ad0a85 Convert currentColor crash into a warning. 2016-08-03 17:55:02 -07:00
Bobby Holley
f0f39904a2 Explicitly allocate and deallocate our initial computed values.
This allows us to trigger style struct destructors before Gecko's leak checking
runs.
2016-08-03 17:20:21 -07:00
Xidorn Quan
ca3174f6f6 Remove unused libc dependency for windows in style 2016-08-04 10:09:34 +10:00
bors-servo
cbf71a2cf3 Auto merge of #12645 - emilio:stylo, r=bholley
stylo: Allow computing change hints during the traversal.

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

<!-- Either: -->
- [x] These changes do not require tests because geckolib :-(

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

r? @bholley
cc @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/12645)
<!-- Reviewable:end -->
2016-08-03 19:02:26 -05:00
Emilio Cobos Álvarez
27b2bad256
stylo: Fix and ensure alignment of restyle hints. Test it on Travis.
Turns out eRestyle_LaterSiblings was not really matching, sigh...
2016-08-03 15:18:32 -07:00
Emilio Cobos Álvarez
6d67525172
style: Refactor TRestyleDamage and TNode to accept/provide a "style source"
In the Gecko case, this style source would be the style context. In the servo
case, it will be always the computed values.

We could optimise this further in the case of stylo (from three FFI calls to
one) if we use an API of the form CalcAndStore(node, new_cv). But that would
imply borrowing the data twice from Servo (we also have borrow_data_unchecked
fwiw, but...).
2016-08-03 13:31:11 -07:00
Emilio Cobos Álvarez
1470d5b174
stylo: Allow computing change hints during the traversal. 2016-08-03 13:31:11 -07:00
Emilio Cobos Álvarez
67ac81f440
style: Fix sequential traversal. 2016-08-03 13:31:11 -07:00
Steve Melia
04f5369577 Issue 7720: Add target selector and update when scrolling to fragment 2016-08-03 13:23:10 +01:00
Manish Goregaokar
d1e45f78af
Add serialize_four_sides, use for serializing BorderRadius 2016-08-02 19:22:03 +05:30
Manish Goregaokar
973796b989
Various fixes in basic-shape parsing/serialization found by unit tests 2016-08-02 15:57:34 +05:30
Manish Goregaokar
e69f6396e2
Remove unused imports 2016-08-02 15:57:32 +05:30
Manish Goregaokar
1e7973263f
Fix tidy 2016-08-02 15:57:30 +05:30
Manish Goregaokar
eb82cc25ef
Add Polygon to basic_shape.rs 2016-08-02 15:57:28 +05:30
Manish Goregaokar
78ce65d5a8
Add Ellipse to basic_shape.rs 2016-08-02 15:57:27 +05:30
Manish Goregaokar
77f345476f
Add Circle to basic_shape.rs 2016-08-02 15:57:25 +05:30
Manish Goregaokar
44e33bcdc5
Move Position into its own values module 2016-08-02 15:57:23 +05:30
Manish Goregaokar
88c1a67d89
Add ShapeRadius to basic_shape.rs 2016-08-02 15:57:22 +05:30
Manish Goregaokar
2580c1dc6e
Add InsetRect, move BorderRadius to basic_shape.rs 2016-08-02 15:57:20 +05:30
Cameron McCormack
4a8c181419 Fix unused variable warning. 2016-08-02 11:43:44 +08:00
bors-servo
f16aac0e5d Auto merge of #12651 - heycam:background-position, r=Manishearth
Add support for background-position in geckolib.

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

r? @Manishearth

---
<!-- 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 this is a geckolib-only 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/12651)
<!-- Reviewable:end -->
2016-08-01 20:41:56 -05:00
Manish Goregaokar
149246e96a
style: Split values.rs into specified/computed module files 2016-07-29 18:43:42 +05:30
Cameron McCormack
77e57aab5b Add support for background-position in geckolib. 2016-07-29 17:12:50 +08:00
bors-servo
7e39efa2df Auto merge of #12631 - Manishearth:stylo-unsafe-coord, r=bholley
stylo: Use unsafe accessors for coord data

depends on https://bugzilla.mozilla.org/show_bug.cgi?id=1290061

r? @bholley

<!-- 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/12631)
<!-- Reviewable:end -->
2016-07-29 03:38:14 -05:00