Commit graph

11708 commits

Author SHA1 Message Date
bors-servo
dabb79c787 Auto merge of #14603 - mrobinson:collect-scoll-roots, r=emilio
Rework the way scroll roots are collected

<!-- 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 they should not change behavior.

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

Collect scroll roots during the collect_stacking_context phase instead
of during display list construction. This will be useful in order to
collect containing block scroll roots as well as to give scroll roots
sequential ids in the future. This change also pulls stacking context
children out of the StackingContext struct itself, which should reduce
very slightly the memory used by the finished display list. This also
simplifies the DisplayListBuilder because it no longer has to maintain
a stack of ScrollRootIds and StackingContextIds and can instead just
rely on the program stack.

<!-- 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/14603)
<!-- Reviewable:end -->
2017-01-10 04:48:31 -08:00
Martin Robinson
29876d2703 Rework the way scroll roots are collected
Collect scroll roots during the collect_stacking_context phase instead
of during display list construction. This will be useful in order to
collect containing block scroll roots as well as to give scroll roots
sequential ids in the future. This change also pulls stacking context
children out of the StackingContext struct itself, which should reduce
very slightly the memory used by the finished display list. This also
simplifies the DisplayListBuilder because it no longer has to maintain
a stack of ScrollRootIds and StackingContextIds and can instead just
rely on the program stack.
2017-01-10 13:33:08 +01:00
bors-servo
f54dd0112b Auto merge of #14928 - nox:insert, r=SimonSapin
Unify text insertion when parsing HTML and XML

<!-- 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/14928)
<!-- Reviewable:end -->
2017-01-10 03:51:47 -08:00
bors-servo
43a537a1ba Auto merge of #14879 - hiikezoe:animation-properties, r=heycam
Stylo:  Store animation properties into gecko's struct

<!-- Please describe your changes on the following line: -->
This is the counter part of https://bugzilla.mozilla.org/show_bug.cgi?id=1328786

All patches get reviewed by r=@heycam.
---
<!-- 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.

<!-- 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/14879)
<!-- Reviewable:end -->
2017-01-10 02:57:23 -08:00
Anthony Ramine
d853e7fee9 Unify text insertion when parsing HTML and XML 2017-01-10 11:16:42 +01:00
bors-servo
b0a6808956 Auto merge of #14925 - servo:callback, r=jdm
Some cleanup around JS callbacks.

<!-- 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/14925)
<!-- Reviewable:end -->
2017-01-09 21:09:57 -08:00
bors-servo
867df7f3d7 Auto merge of #14920 - upsuper:shorthand-variable, r=emilio
Correctly handle unserializable shorthand

get_shorthand_appendable_value doesn't always return a serializable value. This change makes it handle that case correctly.

This change also updates step number in property_value_to_css to reflect the latest spec.

---
<!-- 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 stylo [bug 1329533](https://bugzilla.mozilla.org/show_bug.cgi?id=1329533)

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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/14920)
<!-- Reviewable:end -->
2017-01-09 20:10:32 -08:00
Hiroyuki Ikezoe
1ae2a6d451 Store animation properties into nsDisplay.mAnimations. r=heycam 2017-01-10 12:24:59 +09:00
Hiroyuki Ikezoe
ff0819b2d4 Add impl From<nsTimingFunction> for TransitionTimingFunction and impl From<TransitionTimingFunction> for nsTimingFunction. r=heycam 2017-01-10 12:24:59 +09:00
Hiroyuki Ikezoe
98ed440597 Implement nsStyleAutoArray.ensure_len(). r=heycam 2017-01-10 12:24:59 +09:00
Hiroyuki Ikezoe
dc3b4803d1 Implement Index for nsStyleAutoArray. r=heycam 2017-01-10 12:24:59 +09:00
Hiroyuki Ikezoe
00b3dda3e5 Add gecko_enum_prefix for animation-direction and animation-fill-mode. r=heycam 2017-01-10 12:24:59 +09:00
Hiroyuki Ikezoe
ff1db63922 single_keywords supports custom_consts map for enum. r=heycam
We need it to convert PlaybackDirection::Alternate_reverse in Gecko to
alternate-reverse in Servo.
2017-01-10 12:24:59 +09:00
bors-servo
f1c82be0e6 Auto merge of #14868 - bd339:iss14068, r=jdm
Fix loss of response type information in Fetch API

<!-- Please describe your changes on the following line: -->
Avoids mapping response types that are distinct according to [the spec](https://fetch.spec.whatwg.org/#concept-response-type) to fewer response types. Also updates test expectations to match that we now pass tests that check the response type.

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

<!-- Either: -->
- [X] 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/14868)
<!-- Reviewable:end -->
2017-01-09 18:36:38 -08:00
bors-servo
2a2a89b7e4 Auto merge of #14907 - bholley:eliminate_consume, r=emilio
Give up on hoisting ElementData into the frame and eliminate the concept of consuming styles

Servo PR for the work in https://bugzilla.mozilla.org/show_bug.cgi?id=1325734

<!-- 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/14907)
<!-- Reviewable:end -->
2017-01-09 17:26:50 -08:00
bors-servo
851d6230f3 Auto merge of #14818 - glennw:zb, r=pcwalton
Update WR (first phase of z-buffer optimizations / improvements).

<!-- 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/14818)
<!-- Reviewable:end -->
2017-01-09 11:56:40 -08:00
Bobby Holley
3fcfc9c5fc Bug 1325734 - Simplify ElementData and eliminate the concept of consuming styles. r=emilio 2017-01-09 11:51:37 -08:00
Bobby Holley
4558efbca5 Bug 1325734 - Explicitly track whether we're performing the initial style. r=emilio 2017-01-09 11:51:37 -08:00
Bobby Holley
92b9d70c3a Bug 1325734 - Pass the thread-local context into should_traverse_children. r=emilio 2017-01-09 11:51:37 -08:00
Bobby Holley
3060865577 Bug 1325734 - Parameterize the style traversal on TElement instead of TNode. r=emilio
This works around the issue described in https://github.com/rust-lang/rust/issues/38917
2017-01-09 11:51:36 -08:00
Bobby Holley
962a4a79bb Bug 1325734 - Remove Servo Layout's dependency on the initial-ness of the style. r=emilio 2017-01-09 11:51:36 -08:00
bors-servo
50bba770d6 Auto merge of #14789 - Manishearth:supports, r=SimonSapin
Support @supports

fixes #14786

cc @heycam @upsuper
r? @SimonSapin

<!-- 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/14789)
<!-- Reviewable:end -->
2017-01-09 10:54:38 -08:00
Simon Sapin
b5d9210f16 Fix too many parens in @supports serialization. 2017-01-09 19:35:00 +01:00
bors-servo
9482467add Auto merge of #14927 - servo:ImageData-data, r=jdm
Use the typed array APIs in ImageData.

<!-- 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/14927)
<!-- Reviewable:end -->
2017-01-09 09:29:46 -08:00
bors-servo
93ac10d9b1 Auto merge of #14917 - fkautz:pr_out_renaming_default_features_to_default_features_as_per_cargo_s_manifest_format, r=emilio
Renaming default_features to default-features as per Cargo's Manifest Format

<!-- 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/14917)
<!-- Reviewable:end -->
2017-01-09 07:35:28 -08:00
bors-servo
518ef39cfd Auto merge of #14618 - MortimerGoro:webvr_api, r=larsbergstrom,emilio,jdm,nox,asajeffrey,cvan
WebVR API Implementation

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

WebVR API Implementation with HTC Vive support on Windows. The current implementations only enables the WebVR support on Windows. In other platforms the API is available on JavaScript but navigator.vr.getDisplays() returns an empty array. This will change when we add support for more VR providers and platforms ;)

Info about the architecture:
https://blog.mozvr.com/webvr-servo-architecture-and-latency-optimizations/
---
<!-- 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: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

Proprietary openvr.dll must be copied next to servo.exe in order to test on HTC Vive (https://github.com/ValveSoftware/openvr/tree/master/bin/win64) I have added some of the official WebVR samples for testing. Switch on your headset and run:

mach run tests/html/webvr/room-scale.html

<!-- 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/14618)
<!-- Reviewable:end -->
2017-01-09 06:39:45 -08:00
bd339
0f1eb13e33 Don't lose information in Fetch API
Also update test expectations.
2017-01-09 14:52:14 +01:00
Ms2ger
63f0d3ecf5 Privatize some items in EventTarget. 2017-01-09 14:17:42 +01:00
Ms2ger
b8554abaa4 Expose CallbackObject more.
This will make it easier to use new fields added to it.
2017-01-09 14:17:41 +01:00
Ms2ger
2839bca065 Use the typed array APIs in ImageData. 2017-01-09 14:00:54 +01:00
bors-servo
2326532198 Auto merge of #14926 - mrobinson:move-display-list-builder-methods, r=emilio
Move some methods from display_list_builder.rs

These methods are not only used during display list construction, so
they are a better fit for the flow structs themselves. This does
not introduce any behavior change, but should make it easier to fix

<!-- 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 they are a simple refactor.

<!-- 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/14926)
<!-- Reviewable:end -->
2017-01-09 04:31:30 -08:00
Imanol Fernandez
c5705bff50 WebVR API Implementation, r=larsbergstrom 2017-01-09 12:44:39 +01:00
Martin Robinson
f3577e41c1 Move some methods from display_list_builder.rs
These methods are not only used during display list construction, so
they are a better fit for the flow structs themselves. This does
not introduce any behavior change, but should make it easier to fix
2017-01-09 12:33:23 +01:00
Cameron McCormack
3e0e2bcd2c Don't inherit all properties for pre-computed pseudos if there are no matching rules. 2017-01-09 17:55:40 +08:00
Ms2ger
11c21d3b1d Introduce CallbackObject::new(). 2017-01-09 09:47:34 +01:00
Ms2ger
aa93260f1e Change the order of code in callback.rs to make more sense. 2017-01-09 09:47:33 +01:00
Xidorn Quan
c183899c06 Correctly handle unserializable shorthand
get_shorthand_appendable_value doesn't always return a serializable
value. This change makes it handle that case correctly.
2017-01-09 15:38:13 +11:00
Frederick F. Kautz IV
5f3339d22a Renaming default_features to default-features as per Cargo's Manifest Format 2017-01-08 19:24:19 -08:00
Cameron McCormack
252766b76b stylo: Regenerate bindings. 2017-01-09 11:12:21 +08:00
Cameron McCormack
f24e4543fe stylo: Update glue for recent changes. 2017-01-09 11:11:55 +08:00
Glenn Watson
3d9475457c Update WR (first phase of z-buffer optimizations / improvements). 2017-01-09 09:41:51 +10:00
bors-servo
8fff2f29d0 Auto merge of #14895 - dowoncha:request-websocket, r=jdm
Added Websocket to RequestMode enum

Added Websocket to RequestMode enum
---
<!-- 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 #14785  (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because matching the enum should have default control flow.

<!-- 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/14895)
<!-- Reviewable:end -->
2017-01-08 08:57:52 -08:00
Nazım Can Altınova
f1693013b2 Re-export SpecifiedValue instead of computed_value::T on other longhands 2017-01-08 17:19:12 +03:00
Nazım Can Altınova
227737c685 Convert animation-iteration-count longhand into vector_longhand 2017-01-08 17:19:09 +03:00
Nazım Can Altınova
3934f505d6 Convert animation-name longhand into vector_longhand 2017-01-08 17:19:07 +03:00
Nazım Can Altınova
164e8f5071 Convert transition-property longhand into vector_lonhhand 2017-01-08 17:19:04 +03:00
Nazım Can Altınova
8e21d65303 Convert transition-timing-function longhand into vector_longhand 2017-01-08 17:19:01 +03:00
Dowon Cha
8bf924dc79 Added Websocket to RequestMode enum
set unreachable in dom/request.rs for websocket

fixed imports
2017-01-08 09:17:53 -05:00
Nazım Can Altınova
77368ac48c Fix SingleSpecifiedValue in vector_longhand 2017-01-08 16:29:50 +03:00
Nazım Can Altınova
55ae25c3ae Convert transition-duration longhand into vector_longhand 2017-01-08 16:29:48 +03:00