Commit Graph

5487 Commits

Author SHA1 Message Date
Anthony Ramine
f6030c945d servo: Merge #16558 - Properly parse alignment shorthands (fixes #16391) (from nox:placement); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: e9658bb5b4ab4897a015714201d76ebff6a8f7d9
2017-04-21 14:03:43 -05:00
Hiroyuki Ikezoe
eeafbe5263 servo: Merge #16557 - Servo does not need to support -moz-keyframes (from hiikezoe:dont-support-moz-keyframes); r=SimonSapin
<!-- Please describe your changes on the following line: -->
In #16553 I did innocently add a support for @-moz-keyframes but as @SimonSapin pointed out, servo does not need to support -moz prefix one.
Whereas, I think servo should support @-webkit-keyframes since it is described in web
compatibility [1].

[1] https://compat.spec.whatwg.org/#css-at-rules

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: f51170a2a10691a1ad0b5da1b0c6e14e5186b8ba
2017-04-21 05:14:50 -05:00
Boris Chiou
3055026a96 servo: Merge #16554 - stylo: Bug 1332633 - Implement ComputeDistance trait (from BorisChiou:stylo/animation/compute_distance); r=emilio
These patches implement ComputeDistance trait, so we can use it for SMIL animation and for testing test_transitions_per_property.html, which uses nsDOMWindowUtils::ComputeAnimationDistance() to get the the distance between two AnimationValues.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix Bug 1332633.
- [X] These changes do not require tests because we have test cases in Gecko. (If Servo wants to use this feature, we can add more tests in Servo in the future.)

Source-Repo: https://github.com/servo/servo
Source-Revision: 350d9c6c47fe1f20ebbd911f7675c23bcaa9ba2f
2017-04-21 00:52:13 -05:00
Hiroyuki Ikezoe
9d329803d6 servo: Merge #16553 - Support vendor prefix keyframes rule (from hiikezoe:vendor-prefix-keyframes); r=emilio
If there are multiple prefixed/non-prefixed @keyframes with the same name;

* non-prefixed rule overrides earlier rules.
* prefixed rule overrides earlier prefixed rules.

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

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

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 85aba7ab14c64e16836c234158748d0cd7f435fd
2017-04-21 00:17:06 -05:00
Bobby Holley
d7e9eaf5d6 servo: Merge #16549 - store simple selectors and combinators inline (from bholley:inline_selectors); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1357973

Source-Repo: https://github.com/servo/servo
Source-Revision: f44e3cdae29a9847e1e212a55490285a11b3ba5c
2017-04-20 17:05:31 -05:00
Nathan Froyd
8eaf291231 servo: Merge #16545 - add the gecko_debug feature (from froydnj:moz-debug-feature); r=emilio
add the moz_debug feature

debug_assertions is not a reliable guide to whether Gecko C++ code is
being compiled with debugging assertions, since we can now compile Gecko
with --enable-optimize --disable-debug --enable-rust-debug: Gecko will
be compiled without debugging assertions (and debugging struct layouts)
and Rust code will be compiled with debug_assertions.  The struct
mismatches in the binding layer lead to startup crashes.

This feature is not presently used, but will be set by some Gecko-side
changes and then used by some Servo-side changes.  These changes need to
be made first so that CI on both sides works correctly at all
intermediate stages along the way.

This is in service of https://bugzilla.mozilla.org/show_bug.cgi?id=1357556

<!-- 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 OR
- [X] These changes do not require tests because no code is being changed

Source-Repo: https://github.com/servo/servo
Source-Revision: 93fa0ae1e3bcfe9e70a6fea91d137f20d8b5f790
2017-04-20 15:14:25 -05:00
Anthony Ramine
e6de560706 servo: Merge #16513 - Properly parse background-size in background longhand (fixes #15199) (from nox:background-slash-size); r=upsuper
Source-Repo: https://github.com/servo/servo
Source-Revision: 26fd65995dcaa543437ccfddb0f2693b6505e9f0
2017-04-20 05:19:37 -05:00
Anthony Ramine
90388b8db7 servo: Merge #16511 - Implement -webkit-radial-gradient() (fixes #15441) (from nox:webkit-gradients); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 7f825d2119a480a64b103e1d60a2d469af98d3de
2017-04-20 04:27:33 -05:00
Martin Robinson
4a0574ac14 servo: Merge #16531 - Eliminate ScrollRootId (from mrobinson:clip-id); r=glennw
Just use WebRender's ClipId directly. This will allow us to create and
use ReferenceFrames in the future, if we need to do that. It will also
make it easier to have Servo responsible for creating the root
scrolling area, which will allow removing some old hacks in the future.

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 6e05a903afe81af5a45067dde4f9af26a2ea4be2
2017-04-20 01:55:33 -05:00
cu1t
aa1c6683ce servo: Merge #16472 - Fix namespaces of elements created in XML documents (from cu1t:#14095-fix-xml-doc-namespaces); r=nox
Correctly implement following step of [Dom Document Spec](https://dom.spec.whatwg.org/#dom-document-createelement):
> Let namespace be the HTML namespace, if the context object is an HTML document or context object’s content type is "application/xhtml+xml", and null otherwise.

Note, this will make following test in `tests/wpt/web-platform-tests/dom/nodes/Document-constructor.html` to fail, so related .ini file added to mark it as such:
```
test(function() {
  var doc = new Document();
  var a = doc.createElement("a");
  // In UTF-8: 0xC3 0xA4
  a.href = "http://example.org/?\u00E4";
  assert_equals(a.href, "http://example.org/?%C3%A4");
}, "new Document(): URL parsing")
```
I'm not very familiar with specs, but from quick look at it, I'm doubtfull that it is valid in the first place. This is an "application/xml" document, so I don't see why it should encode a.href. Firefox also fails that.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because because there are already tests which were being ignored

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 2d732d829b3fc93938898118ee55ef985ebfc657
2017-04-20 01:01:05 -05:00
Manish Goregaokar
aa776fec4a servo: Merge #16539 - stylo: Properly support -moz-script-size-multiplier, -moz-script-level, and -moz-script-min-size (from Manishearth:stylo-scriptminsize); r=heycam
r=heycam https://bugzilla.mozilla.org/show_bug.cgi?id=1355427

(copying over the relevant commit message so that it doesn't get lost in the vcssync)

scriptlevel is a property that affects how font-size is inherited. If scriptlevel is
+1, for example, it will inherit as the script size multiplier times
the parent font. This does not affect cases where the font-size is
explicitly set.

However, this transformation is not allowed to reduce the size below
scriptminsize. If this inheritance will reduce it to below
scriptminsize, it will be set to scriptminsize or the parent size,
whichever is smaller (the parent size could be smaller than the min size
because it was explicitly specified).

Now, within a node that has inherited a font-size which was
crossing scriptminsize once the scriptlevel was applied, a negative
scriptlevel may be used to increase the size again.

This should work, however if we have already been capped by the
scriptminsize multiple times, this can lead to a jump in the size.

For example, if we have text of the form:

huge large medium small tiny reallytiny tiny small medium huge

which is represented by progressive nesting and scriptlevel values of
+1 till the center after which the scriptlevel is -1, the "tiny"s should
be the same size, as should be the "small"s and "medium"s, etc.

However, if scriptminsize kicked it at around "medium", then
medium/tiny/reallytiny will all be the same size (the min size).
A -1 scriptlevel change after this will increase the min size by the
multiplier, making the second tiny larger than medium.

Instead, we wish for the second "tiny" to still be capped by the script
level, and when we reach the second "large", it should be the same size
as the original one.

We do this by cascading two separate font sizes. The font size (mSize)
is the actual displayed font size. The unconstrained font size
(mScriptUnconstrainedSize) is the font size in the situation where
scriptminsize never applied.

We calculate the proposed inherited font size based on scriptlevel and
the parent unconstrained size, instead of using the parent font size.
This is stored in the node's unconstrained size and will also be stored
in the font size provided that it is above the min size.

All of this only applies when inheriting. When the font size is
manually set, scriptminsize does not apply, and both the real and
unconstrained size are set to the explicit value. However, if the font
size is manually set to an em or percent unit, the unconstrained size
will be set to the value of that unit computed against the parent
unconstrained size, whereas the font size will be set computing against
the parent font size.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7919e591a46274c0d7f3a7c7c99d2643d55d60f1
2017-04-20 00:20:41 -05:00
KuoE0
48a578b01a servo: Merge #16537 - Add inline-axis and block-axis aliases for -moz-box-orient (from KuoE0:add-inline-axis-and-block-axis-for-moz-box-orient); r=KuoE0
<!-- Please describe your changes on the following line: -->

This issue is reported at https://bugzilla.mozilla.org/show_bug.cgi?id=1355005.

spec: https://developer.mozilla.org/en-US/docs/Web/CSS/box-orient

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

<!-- Either: -->
- [X] These changes do not require tests in Gecko.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: f74f1fb59233c3f366cec4ace5df37c0264786be
2017-04-19 23:19:48 -05:00
Boris Chiou
2bb33dacc9 servo: Merge #16536 - stylo: Change the animation_type of column-count to normal (from BorisChiou:stylo/animation/column_count); r=Manishearth
According to PR #16494, column-count should be animatable, so we should change the animation_type to "normal".

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix Bug 1355732 and PR #16494.
- [X] These changes do not require tests because we have tests in gecko already.

Source-Repo: https://github.com/servo/servo
Source-Revision: ac92bddbf5e4a8e2f68fc57883244f9c4a35d466
2017-04-19 22:44:42 -05:00
Nazım Can Altınova
2c5d5a5fbb servo: Merge #16231 - stylo: Implement -moz-transform property (from canaltinova:moz-transform); r=Manishearth
-moz-transform property is an alias shorthand property. It has transform as sub-property but their parsing is different in some cases(matrix/matrix3d). -moz-transform also accepts LengthOrPercentage in the nondiagonal homogeneous components of matrix and matrix3d.

It looks like length and percentage values are getting computed to number directly. For example 120px converts into 120 and calc(120px + 20%) converts into 140. So I did like this. But we need to check this behavior again to be sure, I guess.

Also I spent half day investigating why matrices are not serializing after this change and found out their ToCss functions is not completely implemented yet 😄 I was going to implement them but there is an easy issue about it(#15194) so I left it that way. Probably all tests won't pass without it.

---
<!-- 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 #16003 and [Bug 1351356](https://bugzilla.mozilla.org/show_bug.cgi?id=1351356)

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

Source-Repo: https://github.com/servo/servo
Source-Revision: b8b4ec92df9729f8d07ff1d2b6e3e3474a978b6c
2017-04-19 17:37:07 -05:00
Martin Robinson
2799434942 servo: Merge #16529 - Create proper root ClipId when scrolling from script (from mrobinson:root-scroll); r=glennw
WebRender currently makes a distinction between an external ClipId with
id equal to 0 and the root scroll ClipId. We need to detect this
situation and properly form the ClipId for the root.

<!-- 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: -->
- [x] There are tests for these changes OR
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 2d2c82541a7d9508439b8a4cce89cdef37e343ac
2017-04-19 17:01:58 -05:00
Boris Chiou
346f33b5a8 servo: Merge #16527 - stylo: Bug 1353628 - Support shorthand properties for CSS Transition (from BorisChiou:stylo/transition/shorthands); r=emilio
These patches add shorthand properties into TransitionProperty, so we can parse the shorthand properties properly and create transitions for them.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 355d5f89da8fef0e8a2aaa94c45c2ff209e5ddae
2017-04-19 07:35:09 -05:00
Boris Chiou
457f8e57f6 servo: Merge #16526 - stylo: Bug 1357671 - Make animation_type of logical properties be None (from BorisChiou:stylo/animation/logical_type); r=emilio
Logical properties will be animatable (with discrete type), but for now, it is still non-animatable, so we assign "None" to the animation_type.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix Bug 1357671
- [X] These changes do not require tests because this is for code gen. If there is any problem, we will get compilation errors.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5062c4b117dcd99df8ad46dae1b2dd4e6f1f0691
2017-04-19 05:29:48 -05:00
Glenn Watson
e265ba52dd servo: Merge #16523 - Update WR (driver workaround, large clip mask fix, font index support) (from glennw:update-wr-drivers); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 0a54d5a025a78ec4325639d6ffb1dfc1f0ac78ac
2017-04-19 04:53:22 -05:00
Emilio Cobos Álvarez
4148a5909a servo: Merge #16519 - dom/medialist: remove unused import (from emilio:unused-import); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 83130dcc9150dee962d00df7969ccf687313406e
2017-04-19 04:17:09 -05:00
Emilio Cobos Álvarez
f707920e6d servo: Merge #16516 - stylo: Centralize stylesheet handling (from emilio:stylesheet-handling); r=bholley
This is needed for both bug 1357461 and bug 1273303, where I plan to add smarter
invalidations than what we have now.

Also, it's cleaner.

Ideally I'll move this onto stylist, though that may require extra work to make
it work fine for Servo, so for now let's just do the obvious thing.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5274991545fedd9b7188c40abffb61b4067daa8a
2017-04-19 03:41:08 -05:00
coalman
de7526ae83 servo: Merge #16495 - Make tidy check that opening and closing braces that begin a line do … (from coalman:tidy-brace-alignment); r=emilio
…so with proper alignment.

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

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 195100f3cac99b979e25157eb437e63bd3262e6f
2017-04-19 03:06:31 -05:00
Bobby Holley
4c2729a1bd servo: Merge #16521 - Store bloom filter hashes inline in the selector (from bholley:precompute_hashes); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1357304

Source-Repo: https://github.com/servo/servo
Source-Revision: b4bea83312abdceaf7fe142ba82a62c12ce9bd02
2017-04-19 02:32:18 -05:00
Cameron McCormack
a078931d2e servo: Merge #16524 - Revert #16517 for Gecko heap write hazard failures (from heycam:backout-system-fonts); r=heycam
Source-Repo: https://github.com/servo/servo
Source-Revision: 91386e8367b333e5a3832ece5cba482baeb2c0fe
2017-04-19 01:56:10 -05:00
Manish Goregaokar
d0474b2535 servo: Merge #16517 - stylo: Support system fonts (from Manishearth:stylo-sys); r=xidorn
r=xidorn https://bugzilla.mozilla.org/show_bug.cgi?id=1349417

Source-Repo: https://github.com/servo/servo
Source-Revision: 2f8d9013a09b7b6dfad253a2438b9810d6d077dc
2017-04-18 20:52:11 -05:00
Anthony Ramine
65013e051d servo: Merge #16514 - Add extra pointer-events values for Gecko (fixes #16397) (from nox:pointer-events); r=upsuper
Source-Repo: https://github.com/servo/servo
Source-Revision: 7a7697897d373e05deed6810ea278169c28c4986
2017-04-18 08:33:51 -05:00
Pu Xingyu
961c036bbd servo: Merge #16428 - layout: Floor to 0 when computing intrinsic sizes with box-sizing:border-box (from stshine:box-sizing); r=emilio
<!-- Please describe your changes on the following line: -->

Improves bitbucket.

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 349ddb555a8be9daad691a201f72682a141e34e4
2017-04-18 05:30:45 -05:00
Martin Robinson
373ca718ec servo: Merge #16510 - Remove StackingContext::establishes_3d_context (from mrobinson:establishes-3d-context); r=jdm
This member is now unused since WebRender is the only display backend.

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 3e1f4fdc9ac1d42e6bbddf9a2dc82ca43a06b6f4
2017-04-18 03:43:15 -05:00
Glenn Watson
1d5a5684c6 servo: Merge #16502 - Update WR (IPC profiling, RG8 image support) (from glennw:update-wr-ipc); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 56435db820ad13d7fcb9acf9ce4fa84667234706
2017-04-17 17:18:23 -05:00
Martin Robinson
7c2c7cb792 servo: Merge #16336 - Used shared clips for overflow:hidden and CSS clip (from mrobinson:overflow-hidden); r=glennw
Instead of passing down a complex clipping region to each item, used
shared clipping to handle overflow:hidden and CSS clips. In addition to
being more efficient, this should also fix quite a few issues related
to absolutely positioned elements.

One existing reftest is slightly modified to avoid tickling a quirk
with the way that WebRender rasterizes masks. We are working out how to
best express these combined masks with the API or need to. The change
does not affect the original subject of the reftest.

Fixes #13109.
Fixes #10151.
Fixes #7575.
Fixes #8074.

<!-- 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 #13109, #10151, #7575, #8074.

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: ab7e1e2d36829e20df130f7174c3c7d1dbbd5cc5
2017-04-17 16:08:00 -05:00
Josh Matthews
9471a57d1d servo: Merge #16489 - Show HTTP response headers in debug output (from jdm:http-response); r=asajeffrey
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they are changing informative debug output.

Source-Repo: https://github.com/servo/servo
Source-Revision: 86aa4e89c53fbf80f70fa3622cba2140b42a3b35
2017-04-17 11:30:29 -05:00
Martin Robinson
7e7bba2b49 servo: Merge #16463 - Fix various issues with overflow clipping (from mrobinson:various-overflow-fixes); r=emilio
When dealing absolutely positioned items, we should use clip of our
containing block, even if our containing block doesn't itself establish
a new overflow clip. Additionally, we need to properly handle
assigning scroll root ids to fragments of inline elements.

We add a test for this behavior.

<!-- 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: -->
- [x] There are tests for these changes OR
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: b9274b7527b9171dae34f87a039ea98ef2e5fbe8
2017-04-17 09:13:48 -05:00
bjorn3
dd526d81ee servo: Merge #16497 - Fix indentation of a } (from bjorn3:patch-1); r=nox
<!-- Please describe your changes on the following line: -->
Fix indentation of a `}` (see 8dfef0416f (r111661247))

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./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 just an indentation change

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

Source-Repo: https://github.com/servo/servo
Source-Revision: b704cd27df46df122e1506a6c7e5c534289b831f
2017-04-17 05:43:06 -05:00
Boris Chiou
723a8ec17b servo: Merge #16496 - stylo: Bug 1341372 - Detect new transitions and let it run (from BorisChiou:stylo/transition/trigger); r=heycam
These are interdependent patches of Bug 1341372. We let animation-only restyle also work for RESTYLE_CSS_TRANSITIONS, and check if we need to update transitions by each transition property. If it is necessary to create/replace/cancel transitions, we create a SequentialTask for CSS_TRANSITIONS.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix Bug 1341372
- [X] These changes do not require tests because there are tests in Gecko already.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4d8c9c10cb011084e71a04b7d236282bf54c9fab
2017-04-17 05:07:23 -05:00
Mantaroh Yoshinaga
e5a7a6ff5e servo: Merge #16494 - Make column-count/column-gap/column-width animatable (from mantaroh:animate_column); r=hiro
<!-- Please describe your changes on the following line: -->

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

---
<!-- 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, a test case will be landed in web-platform-tests in https://bugzilla.mozilla.org/show_bug.cgi?id=1355732

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 5c29afd0a7866b7cc8b7e70c2a87a249149f345f
2017-04-17 03:26:57 -05:00
Matthew
07e78d3345 servo: Merge #16347 - Removing recursion from ComplexSelector (from tictakk:ticbranch); r=emilio
<!-- Please describe your changes on the following line: -->
Using a smallvec instead of recursively calling to_css for ComplexSelector to handle running out of stack.

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

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: fd89ddf4bba2ff7f53842332f0651f45620c494b
2017-04-16 21:02:06 -05:00
Cameron McCormack
fd03a7cf58 servo: Merge #16488 - style: add Gecko-only support for sideways-{lr,rl} and deprecated SVG 1.1 writing-mode values (from heycam:wm); r=Manishearth
From https://bugzilla.mozilla.org/show_bug.cgi?id=1356510.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3f0b661e8a0126dce0edbd4eaaf561b7a30a8e74
2017-04-16 20:26:18 -05:00
Mantaroh Yoshinaga
ff392971ff servo: Merge #16451 - Make perspective origin animatable (from mantaroh:animate_perspective_origin); r=hiro,emilio
This is a PR for https://bugzilla.mozilla.org/show_bug.cgi?id=1355344

---
<!-- 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, a test case will be landed in web-platform-tests in https://bugzilla.mozilla.org/show_bug.cgi?id=1355344

Source-Repo: https://github.com/servo/servo
Source-Revision: 533853fdce029d7184a33f7d08bfce7cbd6248c8
2017-04-16 18:53:10 -05:00
Pyfisch
46977bc83c servo: Merge #16466 - Remove comment about text-combine-upright digits (from pyfisch:text-combine-upright-no-number); r=emilio
The digits value was never implemented and was dropped from the spec. Old issues like #13769 still discussed if this value should be implemented.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: d8b1f0842ca0cc1efe297f6d7419a9e58bbe5bc4
2017-04-16 15:42:36 -05:00
charlesvdv
ec39aae071 servo: Merge #15822 - Correct unicode handling for text input (from charlesvdv:unicode-panic); r=emilio
<!-- Please describe your changes on the following line: -->
Allow proprer handling of unicode sequence in text input.

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

<!-- Either: -->
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: e45546edf0445d5ca714162bff89c0780d087993
2017-04-16 15:08:59 -05:00
Dominik Boehi
9e8e357587 servo: Merge #16388 - Fix panic when font face name is not available (from Tiwalun:fix-freetype-panic); r=emilio
I got a panic in Servo when I ran it with `RUST_LOG=debug`, which was due to `FT_Get_Postscript_Name` returning a null pointer.

I'm not sure how to add a test for this, so there is none right now.

---
<!-- 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 OR
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 5ccb087769fdb5253514e1ea2babd28b21c65907
2017-04-16 10:50:20 -05:00
Simon Sapin
26cb3e51fe servo: Merge #16473 - Upgrade to rustc 1.18.0-nightly (5f13a3b54 2017-04-15) (from servo:rustup); r=emilio
This version enables [struct field reordering][1] which brings the size of the types for specified values of some CSS properties under the threshold such that they shouldn’t be boxed anymore, making unit tests fail.

Simply unboxing them moves the test failure to Stylo’s unit tests, since the stable compiler used in that case does not do field re-ordering. Therefore, we manually reorder a couple fields to effectively bring this optimization to older compilers for a few specific types.

[1]: https://github.com/rust-lang/rust/pull/40377

Source-Repo: https://github.com/servo/servo
Source-Revision: c453e2ef89b32798dabbb23b22cfd5a72dddf6a5
2017-04-16 00:13:28 -05:00
Yash Mehrotra
6d352524c1 servo: Merge #16478 - Support non-negative parsing of lengths for Either<Length, T> types (from yashmehrotra:fix-16423); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->
Implemented a generic `impl<T> Either<Length, T>` which has a `parse_non_negative_length` method.

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

<!-- Either: -->
- [x] These changes do not require tests because this functionality makes code more modular and doesn't change any existing implementation.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 91bd8f44f2bf373921a8453d4a9732f22d8ee344
2017-04-15 23:02:14 -05:00
Hiroyuki Ikezoe
d13028a7d9 servo: Merge #16470 - Canvas font handling (from hiikezoe:canvas-font-handling); r=heycam
<!-- Please describe your changes on the following line: -->
This is a PR for https://bugzilla.mozilla.org/show_bug.cgi?id=1324700

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

Source-Repo: https://github.com/servo/servo
Source-Revision: a9e917cf87a0a72c41cedfb67e053e08fdfa5ebe
2017-04-15 06:20:52 -05:00
Bobby Holley
24dfbd5118 servo: Merge #16456 - Use the bloom filter for child selectors (from bholley:bloom_children); r=emilio
This speeds up bloom-basic-ref.html by 4x on my machine.

Source-Repo: https://github.com/servo/servo
Source-Revision: b37f4952bd6f2c0177ad462e3445ac79dac19ecb
2017-04-14 14:26:49 -05:00
Ravi Shankar
8f1c9f8081 servo: Merge #16443 - Add parsing/serialization for grid-{row,column} and grid-area (from Wafflespeanut:grid-2); r=canaltinova
With this, almost all the grid properties will have been covered in Stylo. I now realize that we have only two more shorthands left to go - `grid` and `grid-template` (both require #16067)

Source-Repo: https://github.com/servo/servo
Source-Revision: f6f1d52fefa6289ee11fa93ee2afd12152ef3b63
2017-04-14 13:15:56 -05:00
Pyfisch
3acdab2843 servo: Merge #16352 - Correct serialization for border-radius property (from pyfisch:issue12655); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->
I don't think there is a way to avoid the clones, or is there one?

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

<!-- Either: -->
- [X] These changes do not require tests because just a function is called.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: e918d4886885e29d07eb9ad29b8d3b16df44b931
2017-04-14 12:39:39 -05:00
KuoE0
0939356bc3 servo: Merge #16453 - Generate valid form for {background|mask}-position (from KuoE0:generate-valid-form-for-position); r=upsuper
<!-- Please describe your changes on the following line: -->

This issue is reported at https://bugzilla.mozilla.org/show_bug.cgi?id=1355017.

The following style
> background-position-x: 10%;
> background-position-y: top 3em;

generates

> background-position: 10% top 3em;

which is invalid. The correct form is

> background-position: left 10% top 3em;

The serialization of background-position should be implemented as a whole rather than just calling `to_css()` on its two longhand properties separately.

spec: https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position

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

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 023c326c6631a2ba509267bac4665efdfd657d8e
2017-04-14 11:19:56 -05:00
Fausto Núñez Alberro
69ea59ae7e servo: Merge #16340 - Fix -moz-outline-radius shorthand serialization (from brainlessdeveloper:fix-border-radius-serialization); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->
These changes aim to solve #15169 correcting the `ToCss` implementation for `LonghandsToSerialize` for the `border-radius` shorthands. They also reduce redundant values like `1px 2px 1px 2px` to `1px 2px` to either sides of the slash.

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

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: f537fbd08f4523023f2428774a704fa4cd43aaa8
2017-04-14 06:16:36 -05:00
J. Ryan Stinnett
cde16efb01 servo: Merge #16454 - Stylo: SVG length parsing mode (from jryans:svg-parse-unitless); r=emilio
Reviewed by @emilio in [bug 1329088](https://bugzilla.mozilla.org/show_bug.cgi?id=1329088).

r? @emilio

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

Source-Repo: https://github.com/servo/servo
Source-Revision: 5c56640508b4f24a67fe92c5d3179d89d030e959
2017-04-14 04:49:29 -05:00
Anthony Ramine
9580255954 servo: Merge #16440 - Implement webkit-prefixed linear gradients (from nox:webkit-gradients); r=emilio
This is half of #15441.

Source-Repo: https://github.com/servo/servo
Source-Revision: 842ff5f978f341b1929f16cbdcac2b1edbe1482e
2017-04-14 04:13:21 -05:00