Commit graph

24778 commits

Author SHA1 Message Date
Hiroyuki Ikezoe
3da46d9f79 Update bindings. 2017-04-06 11:27:29 +09:00
Hiroyuki Ikezoe
c6ab7a31f0 Use underlying value for missing keyframes.
mBaseStyleValuesForServo is a nsRefPtrHashtable<nsUint32HashKey, RawServoAnimationValue>
In this patch, we use void* instead of exposing nsRefPtrHashtable in FFI
because we just use the hash table as an argument of a C++ function, it means
we don't touch the hash table in Rust at all.
2017-04-06 10:30:41 +09:00
Hiroyuki Ikezoe
6fe0a0e22e Move stuff of KeyframeEffectReadOnly::ComposeStyleRule in Rust.
After this, we will implement additive or accumulative calculation
in this Rust function.
2017-04-06 10:30:40 +09:00
Hiroyuki Ikezoe
56dc7294e5 Add FFI functions to get progress value and current position in a segment.
Two functions added in this patch get progress value from ComputedTiming
or get the position in a given AnimationPropertySegment.
Without these FFIs, we need to expose Maybe<> and Nullable<> and handle
them in Rust.
2017-04-06 10:30:39 +09:00
Hiroyuki Ikezoe
f1d3f23bfa Expose ComputedTiming to FFI.
This will be also used for animation value composition in Rust.
2017-04-06 10:30:38 +09:00
Hiroyuki Ikezoe
68be131165 Move AnimationPropertySegment in a separate header and expose it in FFI.
This will be used for animation value composition in Rust.
2017-04-06 10:30:37 +09:00
Hiroyuki Ikezoe
97aacb242e Add an FFI function that returns an AnimationValue for a given nsCSSPropertyID from computed values.
When we compose style for a given nsCSSPropertyID in the case where
we have no specified values in target keyframe, we use this AnimationValue
for composition as if it's specified.
2017-04-06 10:30:28 +09:00
Hiroyuki Ikezoe
fb6aceba31 Add a function that returns a base computed values (i.e. computed values without any animations rules).
This base value will be used for additive, accumulative animations
and also SMIL.
2017-04-06 10:08:52 +09:00
Hiroyuki Ikezoe
2c0b821564 Make cascade_with_rules() take a boolean representing whether the cascade is for pseudo element or not.
cascade_with_rules() doesn't mutate any already-computed styles.
2017-04-06 10:08:51 +09:00
Hiroyuki Ikezoe
c22d4e518c Make cascade_with_rules take SharedStyleContext instead StyleContext. 2017-04-06 10:08:50 +09:00
Hiroyuki Ikezoe
4516d25889 Make TransitionProperty::from_declaration() convert PropertyDeclaration::{CSSWideKeyword,WithVariables} as well. 2017-04-06 10:08:43 +09:00
bors-servo
c41ade06eb Auto merge of #16278 - hiikezoe:make-letter-spacing-animatable, r=emilio
Make letter-spacing animatable.

This is a PR of https://bugzilla.mozilla.org/show_bug.cgi?id=1353921

From the spec: 'normal' value computes to zero.

<!-- 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] There are tests for these changes in web-platform-test (web-animations/animation-model/animation-types/interpolation-per-property.html)

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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/16278)
<!-- Reviewable:end -->
2017-04-05 18:58:35 -05:00
Hiroyuki Ikezoe
b801e07ec5 Make letter-spacing animatable.
From the spec: 'normal' value computes to zero.
2017-04-06 08:38:04 +09:00
bors-servo
b89dc6a08c Auto merge of #16276 - servo:cargo-geckolib, r=Wafflespeanut
Add cargo-geckolib and rustc-geckolib commands to mach

<!-- 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/16276)
<!-- Reviewable:end -->
2017-04-05 16:30:19 -05:00
bors-servo
656f5d3911 Auto merge of #16277 - servo:1.16, r=Manishearth
Update stable Rust version to 1.16.0

Firefox did this in https://bugzilla.mozilla.org/show_bug.cgi?id=1351031

Together with https://github.com/servo/servo/pull/16276, this gets us support for `./mach cargo-geckolib check`.

<!-- 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/16277)
<!-- Reviewable:end -->
2017-04-05 15:49:42 -05:00
bors-servo
1e6bd4a134 Auto merge of #16265 - stshine:oh-box-model, r=emilio
Inherit 'text-overflow' and 'overflow' in text fragment

This is an implementation detail that is necessary for 'text-overflow'
to work properly.

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

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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/16265)
<!-- Reviewable:end -->
2017-04-05 15:09:14 -05:00
Simon Sapin
17704172b4 Update stable Rust version to 1.16.0
Firefox did this in https://bugzilla.mozilla.org/show_bug.cgi?id=1351031
2017-04-05 22:02:53 +02:00
Simon Sapin
9f5ba0aee9 Make ./mach rustc and ./mach cargo bootstrap. 2017-04-05 21:52:10 +02:00
Simon Sapin
ca08ff876b Add cargo-geckolib and rustc-geckolib commands to mach. 2017-04-05 21:50:44 +02:00
bors-servo
be35f564bd Auto merge of #16274 - CarlosMcs:negative-flex-basis, r=emilio
Reject negative values of flex-basis.

Fixes #15902

<!-- 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
- [x] These changes fix #15902 (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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/16274)
<!-- Reviewable:end -->
2017-04-05 12:09:20 -05:00
Carlos Martinez
b85f1a0240 Reject negative values of flex-basis.
Fixes #15902
2017-04-05 18:59:09 +02:00
bors-servo
bf7c044955 Auto merge of #16272 - nox:net, r=jdm
Net enhancements

<!-- 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/16272)
<!-- Reviewable:end -->
2017-04-05 09:27:55 -05:00
bors-servo
c12b17d276 Auto merge of #15904 - sendilkumarn:image-area, r=jdm
making image element areas good at finding areas

<!-- 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
- [x] These changes fix #15884

<!-- 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/15904)
<!-- Reviewable:end -->
2017-04-05 08:49:22 -05:00
bors-servo
c2f3cf0205 Auto merge of #16262 - jdm:connection-pool, r=nox
Enable HTTP connection pooling

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15694
- [X] There are tests for these changes

<!-- 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/16262)
<!-- Reviewable:end -->
2017-04-05 08:09:23 -05:00
Anthony Ramine
e6cc88e5a2 Kill some commented-out code 2017-04-05 15:01:31 +02:00
Anthony Ramine
5313e00e3a Pass the url by value to websocket_loader::main_fetch 2017-04-05 14:46:52 +02:00
Anthony Ramine
fb86bfebf4 Introduce HstsList::switch_known_hsts_host_domain_url_to_https 2017-04-05 14:42:59 +02:00
Anthony Ramine
170bcfc03e Kill hsts::secure_url 2017-04-05 14:42:49 +02:00
Anthony Ramine
d2dc425336 Add spec links to the Request fields 2017-04-05 14:26:49 +02:00
bors-servo
a55cb8425d Auto merge of #16269 - heycam:atom-already-addrefed, r=upsuper
Add an Atom::from_addrefed function.

<!-- 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/16269)
<!-- Reviewable:end -->
2017-04-05 05:10:07 -05:00
Cameron McCormack
581cefccfe stylo: Don't leak the nsIAtom we get back from Gecko_GetXMLLangValue. 2017-04-05 17:39:40 +08:00
Cameron McCormack
f3dcef8c81 style: Add an Atom::from_addrefed function. 2017-04-05 17:39:26 +08:00
bors-servo
42f58503c0 Auto merge of #16169 - servo:stylo-heapsize, r=emilio
Remove heapsize for Stylo

It doesn’t seem to be used, and is causing compilation trouble for Gecko: https://bugzilla.mozilla.org/show_bug.cgi?id=1350581

<!-- 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/16169)
<!-- Reviewable:end -->
2017-04-05 03:59:26 -05:00
bors-servo
1071c3339f Auto merge of #16126 - ferjm:issue-14520-block-media-csv, r=nox
Block scripts with text/csv, audio/*, video/* and image/* mime types

This patch implements step 12 of the Main Fetch section of the Fetch API standard. It blocks the load of scripts with `text/csv`, `audio/*`, `video/*` and `image/*` mime types.

Credit for the logic of `should_block_mime_type` function should go to the author of #14770.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #14520
- [X] There are tests for these changes

<!-- 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/16126)
<!-- Reviewable:end -->
2017-04-05 02:34:27 -05:00
bors-servo
8e2a1477ae Auto merge of #16268 - jdm:tmp, r=jdm
Basic MutationObserver interface stubs

Rebase and squash of https://github.com/servo/servo/pull/16190.

<!-- 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/16268)
<!-- Reviewable:end -->
2017-04-05 01:56:16 -05:00
Sumit
107ac9ab56 Implement basic interface for MutationObserver and MutationRecord. 2017-04-05 01:52:38 -04:00
bors-servo
21979bf715 Auto merge of #16266 - Manishearth:stylo-nshtmlss, r=heycam
stylo: Support all extra style rules from nsHTMLStyleSheet

r=heycam from https://bugzilla.mozilla.org/show_bug.cgi?id=1341714

<!-- 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/16266)
<!-- Reviewable:end -->
2017-04-04 23:56:00 -05:00
Manish Goregaokar
5d6bc8177e stylo: Add support for xml:lang
MozReview-Commit-ID: E0GpyPKES3k
2017-04-04 21:21:28 -07:00
Manish Goregaokar
8dea66e6f1
stylo: Add support for <math> default language
MozReview-Commit-ID: LhhSBzYjow5
2017-04-04 21:17:06 -07:00
Manish Goregaokar
1c23296d8a
stylo: Add support for <table> color quirk
MozReview-Commit-ID: 56IKARwfbhw
2017-04-04 21:17:04 -07:00
Manish Goregaokar
0392e58a2f
stylo: Add support for text-align match-parent and the <th> -moz-center-or-inherit behavior
MozReview-Commit-ID: GEDM7JfJB8A
2017-04-04 21:16:57 -07:00
Pu Xingyu
95ce2ac878 Inherit 'text-overflow' and 'overflow' in text fragment
This is an implementation detail that is necessary for 'text-overflow'
to work properly.
2017-04-05 11:04:30 +08:00
bors-servo
6a67688924 Auto merge of #16264 - glennw:update-wr-borders-and-clips, r=Manishearth
Update WR (border fast paths, clip interfaces).

<!-- 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/16264)
<!-- Reviewable:end -->
2017-04-04 20:35:19 -05:00
Glenn Watson
2fceb6e009 Update WR (more border fast paths, clip interface changes). 2017-04-05 10:50:06 +10:00
Martin Robinson
39600f9f4e Update to support new clipping coordinates change 2017-04-05 10:45:31 +10:00
bors-servo
a7e18560e5 Auto merge of #16263 - hiikezoe:handle-css-variables-in-animations, r=Manishearth
Make AnimationValue::from_declaration return computed CSS variable.

This is a PR of https://bugzilla.mozilla.org/show_bug.cgi?id=1326131

In Gecko, we resolve CSS variables when we generate keyframes for each
animations (i.e. when we create script animations, when we create/update CSS
animations). AnimationValue::from_declaration is only called in both cases.

<!-- 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 it's for stylo.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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/16263)
<!-- Reviewable:end -->
2017-04-04 19:26:02 -05:00
Hiroyuki Ikezoe
ec40d1db91 Make AnimationValue::from_declaration return computed CSS variable.
In Gecko, we resolve CSS variables when we generate keyframes for each
animations (i.e. when we create script animations, when we create/update CSS
animations). AnimationValue::from_declaration is only called in both cases.
2017-04-05 09:09:13 +09:00
Josh Matthews
6079dd4de7 Enable HTTP connection pooling. Retry stale connections indicated by connection reset errors. 2017-04-04 19:40:46 -04:00
bors-servo
8d8fea0b4b Auto merge of #16234 - mckaymatt:as_void_ptr_helper_method_15252, r=jdm
Add as_void_ptr helper method to &T

<!-- Please describe your changes on the following line: -->
r? @jdm
issue https://github.com/servo/servo/issues/15252
The primary goal of this PR is to add add a generic trait method that returns a void ptr.

In addition to that change, I made the casting explicit in `components/script/dom/bindings/callback.rs`  and `components/script/dom/promise.rs`. I did not use the new trait method because `AddRawValueRoot` is not looking for a `c_void`. It's looking for `std::os::raw::c_char`.
```rust
pub fn AddRawValueRoot(cx: *mut JSContext, vp: *mut Value,
                                          name: *const ::std::os::raw::c_char) -> bool;
```
So I replace the `as *const _ ` with a more specific cast.

---
<!-- 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
- [x] These changes fix #15252

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because
 This seems like code cleanup. It shouldn't change behaviour.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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/16234)
<!-- Reviewable:end -->
2017-04-04 18:12:31 -05:00
mckaymatt
63f9ad022f Add way to get c_void ptr or c_char from caller 2017-04-04 16:46:52 -04:00