Commit graph

10890 commits

Author SHA1 Message Date
Patrick Walton
92b7189f31 layout: Add a safe way for layout to perform random access on child
flows.

This uses caching to ensure that we perform no more than O(n) pointer
loads.
2016-10-26 14:04:15 -07:00
Patrick Walton
d990a7eb84 layout: Don't leak FlowRefs to the flexbox layout code.
This can cause memory safety problems. Comments have been added to
`flow_list.rs` to prevent this from happening again.
2016-10-26 14:04:14 -07:00
Patrick Walton
179547b68f layout: Make surrounding_intrinsic_inline_size report border/padding
and margin separately.

This makes correct table layout easier.
2016-10-26 14:04:12 -07:00
Patrick Walton
b659753555 layout: Treat flex flows as individual formatting contexts per spec. 2016-10-26 14:04:11 -07:00
Patrick Walton
b809aae74b layout: Add a new MARGINS_CANNOT_COLLAPSE flow flag. 2016-10-26 14:04:10 -07:00
Patrick Walton
be252371ea layout: Refactor Flow::from_fragment-style constructors to be
consistent.
2016-10-26 14:04:08 -07:00
bors-servo
e888b76534 Auto merge of #13923 - pcwalton:inline-absolute-hypothetical-margin, r=SimonSapin
layout: Remove margins from inline absolute hypothetical boxes.

As they're hypothetical, their margins shouldn't take up space!

Improves Google search results.

Closes #13915.

<!-- 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/13923)
<!-- Reviewable:end -->
2016-10-26 12:38:09 -05:00
bors-servo
c8b6ece97b Auto merge of #13913 - bholley:styling_mode, r=emilio
incremental restyle: Introduce StylingMode and deprecate explicit dirtiness

This is another chunk of work to move us toward the new incremental restyle architecture.

Eventually, we'll make a fine-grained decision at each node about what style to recompute based on the RestyleHint on the node data (along with other things). For now, we use the existence of RestyleData as a coarse-grained approximation of this.

<!-- 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/13913)
<!-- Reviewable:end -->
2016-10-26 06:36:06 -05:00
Ting-Yu Lin
0fc38f79d6 Use enum BorderWidth as SpecifiedValue
Use enum BorderWidth instead of a tuple-like struct to store the specified
value. BorderWidth is needed to be used in both longhand and shorthand
border width properties, so I put it in `specified` module.

Fixed #13869.
2016-10-26 16:24:12 +08:00
bors-servo
3c16dde1f2 Auto merge of #13902 - Wafflespeanut:keyword, r=emilio
Prefer auto-generation for some keyword props

<!-- 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-geckolib` does not report any errors

<!-- Either: -->
- [x] These changes do not require tests because it's a refactor

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

r? @Manishearth or @emilio

<!-- 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/13902)
<!-- Reviewable:end -->
2016-10-26 02:27:13 -05:00
Ravi Shankar
e7cbd10ece Auto-generate 'image-rendering' using 'single_keyword' 2016-10-26 12:56:11 +05:30
Bobby Holley
05c1f1e016 Introduce StylingMode and deprecate explicit dirtiness.
MozReview-Commit-ID: 5tF075EJKBa
2016-10-26 00:23:18 -07:00
Ravi Shankar
12f429e23b Keyword argument for custom constant mapping 2016-10-26 11:56:54 +05:30
Ravi Shankar
1c34162220 Make use of existing codegen methods for font-* 2016-10-26 11:56:53 +05:30
Ravi Shankar
af8899edf0 Merge keyword and predefined type longhands 2016-10-26 11:56:52 +05:30
Eric Anholt
71d266052b webgl: Re-check FBO status on binding an FBO.
When the FBO has been unbound, anything that happened to its
attachments (deletion, new binding, reallocation) may have caused it
to change status.

This doesn't change any test results currently, because we're not
checking if the attachments are deleted, the wrong size, or have
appropriate formats.
2016-10-25 22:19:29 -07:00
Eric Anholt
dba7d5eb51 webgl: Detach RBs and textures from the bound FBO on deletion.
This is part of general GL behavior: when an object is deleted, look
through the currently bound objects and detach the deleted object from
them.  Detaching an object from an FBO causes it to need to be
re-checked for its status.
2016-10-25 22:19:26 -07:00
Eric Anholt
6c10d5ca75 webgl: Add support for FBO attachments.
This allows many FBO tests to start running as their framebuffers
start coming back as framebuffer complete.
2016-10-25 22:18:29 -07:00
Eric Anholt
989c936e67 webgl: Add support for renderbufferStorage().
This is not a complete implementation yet: It doesn't clear the
contents of the renderbuffer on creation.  However, Gecko's plan to
only clear renderbuffers when the first FBO using them is the
simplest.
2016-10-25 22:18:28 -07:00
Eric Anholt
8a0ca2efba webgl: Add support for checkFramebufferStatus().
For now it's returning the default UNSUPPORTED on user FBOs.

object-deletion-behaviour.html starts running a bunch more subtets.
2016-10-25 22:18:27 -07:00
Eric Anholt
cc0955f12d webgl: Unbind deleted objects from the GL side, not just our side.
Once FBOs are allowed, we were running into testcases that deleted the
active FBO, and expected the following ReadPixels to come from the
default framebuffer.
2016-10-25 22:18:20 -07:00
Glenn Watson
86eaef237b Update WR - texture layers, image mask, profiler, optimizations. 2016-10-26 12:09:27 +10:00
Patrick Walton
41976c0afc layout: Remove margins from inline absolute hypothetical boxes.
As they're hypothetical, their margins shouldn't take up space!

Improves Google search results.

Closes #13915.
2016-10-25 18:52:17 -07:00
bors-servo
4b28750b9a Auto merge of #13912 - ddrmanxbxfr:remove-deprecated-url-methods, r=Ms2ger
Remove URL.domainToASCII and URL.domainToUnicode

Modifications

- Removed URL.domainToASCII method
- Removed URL.domainToUnicode method
- Added test in wpt to make sure both method are undefined.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #13835  (github issue number if applicable).
- [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/13912)
<!-- Reviewable:end -->
2016-10-25 19:46:54 -05:00
Mathieu Rheaume
943233afd6 Remove URL.domainToASCII and URL.domainToUnicode 2016-10-25 19:05:57 -04:00
rwakulszowa
19463d0904 write optimization 2016-10-25 21:36:19 +02:00
rwakulszowa
d6fa6e453a Use off/- instead of 0/1 when serializing 2016-10-25 20:06:48 +02:00
rwakulszowa
d94496c896 Refactoring; negative tests 2016-10-25 13:55:32 +02:00
bors-servo
c8321edc27 Auto merge of #13836 - emilio:js-intl, r=Ms2ger
Update mozjs_sys to expose proper locale callbacks.

<!-- 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 #13788 (github issue number if applicable).

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

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

Fixes #13788

<!-- 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/13836)
<!-- Reviewable:end -->
2016-10-25 05:51:03 -05:00
bors-servo
a9715c1f02 Auto merge of #13911 - upsuper:bug1312338, r=Manishearth
Use nsACString to pass string params for bindings

This is the Servo side change of [bug 1312338](https://bugzilla.mozilla.org/show_bug.cgi?id=1312338) which has been reviewed by @Manishearth.

r? @Manishearth

(This should not be merged before the Gecko side code lands in m-c)

<!-- 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/13911)
<!-- Reviewable:end -->
2016-10-25 04:09:19 -05:00
Xidorn Quan
3303a978b9 Use nsACString to pass string params for bindings 2016-10-25 18:22:45 +11:00
Eric Anholt
5fda437e88 webgl: Throw an error when binding a deleted framebuffer.
The spec was recently changed to clarify that this should throw an
error.
2016-10-24 20:42:17 -07:00
bors-servo
6029c927ee Auto merge of #13900 - glennw:update-wr-more-opts, r=pcwalton
Update WR - includes a number of optimizations, bsd build fixes, tidy ups.

<!-- 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/13900)
<!-- Reviewable:end -->
2016-10-24 20:38:23 -05:00
Xidorn Quan
eeada5ac51 Add as_str_unchecked() to nsACString 2016-10-25 10:21:01 +11:00
Emilio Cobos Álvarez
9682c0cd3a
Update mozjs_sys to expose proper locale callbacks.
Fixes #13788
2016-10-25 01:11:13 +02:00
bors-servo
8bd7978980 Auto merge of #13904 - upsuper:bug1311598, r=heycam
Move RawGecko{Node,Element,Document} to bindings

This is the Servo side change of [bug 1311598](https://bugzilla.mozilla.org/show_bug.cgi?id=1311598). This has been approved by @heycam on Bugzilla.

(Please don't merge it before the Gecko side code gets merged into mozilla-central)

<!-- 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/13904)
<!-- Reviewable:end -->
2016-10-24 16:13:27 -05:00
Corey Farwell
bec5bf49bd Implement selectedIndex property on <select>. 2016-10-24 14:14:49 -04:00
rwakulszowa
89020022a3 Fixed 'on' bug, to_css bug; added tests 2016-10-24 18:42:16 +02:00
bors-servo
f90b256472 Auto merge of #13907 - mmatyas:update_libfontconfig, r=Ms2ger
Update libfontconfig to 4.0.2

<!-- Please describe your changes on the following line: -->
Update libfontconfig to 4.0.2 to pick up servo/libfontconfig#26 and servo/libfontconfig#27.

(This is a fix for servo/servo#13154)

<!-- 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/13907)
<!-- Reviewable:end -->
2016-10-24 09:59:41 -05:00
bors-servo
ca9d24d87e Auto merge of #13906 - mmatyas:update_fontsan, r=nox
Update fontsan

<!-- Please describe your changes on the following line: -->
Update fontsan to pick up servo/fontsan#20.

(This is a fix for servo/servo#13154)

<!-- 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/13906)
<!-- Reviewable:end -->
2016-10-24 09:11:18 -05:00
Mátyás Mustoha
aa4a20fc34 Update libfontconfig to 4.0.2 2016-10-24 13:38:02 +02:00
Mátyás Mustoha
30fee2bde8 Update fontsan 2016-10-24 13:35:08 +02:00
Mátyás Mustoha
5ee92c216c Update heartbeats-simple-sys to v0.3.2 2016-10-24 13:30:24 +02:00
rwakulszowa
b9e03f3f4b Integer handling; products 2016-10-24 12:19:10 +02:00
Xidorn Quan
109bf2a755 Move RawGecko{Node,Element,Document} to bindings 2016-10-24 20:43:42 +11:00
bors-servo
f3973a0d3b Auto merge of #13898 - anholt:webgl-texture-fixes, r=emilio
webgl: texture size validation fixes

<!-- Please describe your changes on the following line: -->
This pull request fixes the errors in texture-size-limit.html.

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

<!-- 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/13898)
<!-- Reviewable:end -->
2016-10-24 00:52:57 -05:00
Glenn Watson
00789210b0 Update WR - includes a number of optimizations, bsd build fixes, tidy ups. 2016-10-24 15:37:21 +10:00
bors-servo
d5e412b3f1 Auto merge of #13873 - mrobinson:remove-nesting, r=glennw
Remove stacking context nesting from WebRender display construction

<!-- 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 produce any behavior 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/13873)
<!-- Reviewable:end -->
2016-10-23 21:48:28 -05:00
Eric Anholt
5b852b1cdd webgl: Fix up maximum size validation.
We were checking to see if it was too big to be level 0, but we really
want to see if it's too big to be the given level.

This was the last remaining failure in texture-size-limit.html.
2016-10-23 17:46:10 -07:00
Eric Anholt
2f68297051 webgl: Allow TexImage data argument to be larger than necessary.
texture-size-limit.html is using a large array for all of its calls at
various sizes, and we were throwing errors on the calls that should
have passed.
2016-10-23 17:45:56 -07:00