Commit Graph

5487 Commits

Author SHA1 Message Date
Boris Zbarsky
1f3dc4442d servo: Merge #16637 - Fix Stylist::lazily_compute_pseudo_element_style to return None when it should (from bzbarsky:probing-lazy-pseudos); r=emilio
We have a fast path to return None if we have no rules for the pseudo-element at
all, but we should also return None if we have no _matching_ rules for it for
the given originating element.  This is relied on by consumers like
Servo_ResolvePseudoStyle, which needs to be able to detect the "no styles for
this pseudo-element for this originating element case", to support probing for
whether work for a specific pseudo-element should be done at all.

<!-- 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: -->
- [ ] `./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
- [ ] 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: 04aac0247aea29e361589a75954b4f769478dd02
2017-04-27 18:31:20 -05:00
Bobby Holley
a89156523b servo: Merge #16635 - Too many revalidation selectors (from bholley:too_many_revalidation_selectors); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1358693

Source-Repo: https://github.com/servo/servo
Source-Revision: 2c445169ad7ccf0e4b2be8f1eee2e198c54ee666
2017-04-27 13:14:01 -05:00
J. Ryan Stinnett
2f33cd2039 servo: Merge #16634 - Stylo: Text combine upright style adjustment (from jryans:text-combine-upright-fixup); r=heycam
Ports the text-combine-upright writing mode adjustment to Servo.

Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1359603.

Source-Repo: https://github.com/servo/servo
Source-Revision: ab3f5b0d9f72d32d500170eaf5e45f2708081dc3
2017-04-27 11:42:43 -05:00
Anthony Ramine
764b5238e9 servo: Merge #16628 - Parse interpolation hints (fixes #15166) (from nox:INTERPOL); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: f598adc3ad6f25ce684127ce2335e783ff49e00a
2017-04-27 10:41:04 -05:00
Jeremy Chen
f38ec5f828 servo: Merge #16624 - stylo: Make border-spacing animatable (from chenpighead:stylo-make-border-spacing-animatable); r=boris
Two things are included in this patch:

1. Implement ComputeDistance for border-spacing, so we could get the right
distance while doing animations.

2. Implement clone function for gecko glue code of border-spacing, so we
could make animations of border-spacing work properly in stylo build.

Gecko side patch: Bug 1354437

<!-- 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
- [ ] 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: a6c3bc6a4960186c06160c6bafc0c134bfef5234
2017-04-27 09:33:20 -05:00
Emilio Cobos Álvarez
1ad6102849 servo: Merge #16630 - Make stylo traverse Native Anonymous Content, fixing a bunch of restyle bugs (from emilio:nac); r=bholley,hiro
Source-Repo: https://github.com/servo/servo
Source-Revision: c633e291c93c942d34c731fe6ceb4db3b7347a16
2017-04-27 07:39:42 -05:00
Brian Birtles
874612788b servo: Merge #16625 - SMIL support for Gecko (from birtles:smil-support); r=hiro,heycam
PR for [Gecko bug 1355348](https://bugzilla.mozilla.org/show_bug.cgi?id=1355348)

---
- [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 tested on the Gecko side

Source-Repo: https://github.com/servo/servo
Source-Revision: 8824a68063aa4f3ca87454468f382e4d2be66487
2017-04-27 00:48:21 -05:00
Boris Chiou
ebcfce5b9f servo: Merge #16626 - Implement frames timing function (from BorisChiou:animation/timing_function/frames); r=emilio
A frames timing function is a type of timing function that divides the input time into a specified number of intervals of equal length, each of which is associated with an output progress value of increasing value.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15740.
- [X] There are tests for these changes, and web-platform-tests/css-timing-1 also provides tests.

Source-Repo: https://github.com/servo/servo
Source-Revision: 15cf1acc720197b80ff1ad97ea5ddc495f5744fd
2017-04-26 23:31:17 -05:00
cku
0c4f6e5faf servo: Merge #16620 - Bug 1341703 - Support border-image with url() (from CJKu:bug-1341703); r=heycam,manishearth
Bug 1341703 - Support border-image with url()

<!-- Please describe your changes on the following line: -->
Gecko 1341703 should be land immediately after this PR been merged.

---
<!-- 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
- [ ] 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: 18c72ac28d2caeae52d0da9eca60ec2b1bf7f169
2017-04-26 12:39:57 -05:00
Anthony Ramine
f5d7905212 servo: Merge #16619 - Update rustc to 1.18.0-nightly (b0a4074c5 2017-04-26) (from servo:rustup); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 74656f4ff0500112e8faf4325981f622a0bacc14
2017-04-26 11:30:36 -05:00
Boris Chiou
00e88f937b servo: Merge #16614 - stylo: Bug 1357357 - Make the parser of transition-property match the spec (from BorisChiou:stylo/transition/transition_property); r=emilio
These are interdependent patches of Bug 1357357. We add one more arm, TransitionProperty::Unsupported, which stores the string of non-animatable, custom, or unrecognized property, so we can parse these kinds of properties and serialize them correctly. This is necessary because we need to start transitions even though some transition-properties are non-animatable, custom, or unrecognized.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1357357](https://bugzilla.mozilla.org/show_bug.cgi?id=1357357).
- [X] There are tests for these changes.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8f1356de60d0f0b1571b0e84b929ba7d8054177f
2017-04-26 09:33:08 -05:00
Emilio Cobos Álvarez
391b199f94 servo: Merge #16618 - script: Ensure we don't suppress reflows when stylesheets are dirty (from emilio:dirty-doc); r=nox
I suspect this will prevent some intermittentness in #16617

Source-Repo: https://github.com/servo/servo
Source-Revision: 4e70e10ed15d4e6a7b7d0ed1e48135cdb941692a
2017-04-26 08:59:33 -05:00
Glenn Watson
d6fafb8542 servo: Merge #16612 - Update WR (groove/ridge borders, mix-blend-mode opts) (from glennw:update-wr-groove-ridge-2); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: c1b347794cc9812bf608fdc267c4c0e4ef5ef968
2017-04-26 07:56:32 -05:00
Hiroyuki Ikezoe
51e84bddf7 servo: Merge #16615 - Fix overflow in ::nth-child() (from hiikezoe:fix-overflow); r=SimonSapin
<!-- Please describe your changes on the following line: -->
This is a PR of https://bugzilla.mozilla.org/show_bug.cgi?id=1358754

---
<!-- 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] We have a test case in mozilla-central.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4800d2a47c93ada76d77fdb22fad634805713692
2017-04-26 06:28:26 -05:00
Brian Birtles
c62c31cdbc servo: Merge #16613 - Clear animation-only dirty descendants bit on display:none descendants (from birtles:clear-animation-dirty-bit); r=hiikezoe
PR for [Gecko bug 1359658](https://bugzilla.mozilla.org/show_bug.cgi?id=1359658)

When an element has a display:none ancestor we don't traverse it during
restyle. However, at the end of restyling we expect the tree to be free
of dirty bits. We currently take special care to clear the regular
(non-animation) dirty bit on nodes in display:none subtrees in order to
preserve this invariant. This patch applies the same handling to the
animation-only dirty descendants bit.

---
- [X] `./mach build -d` just keeps crashing because mozjs calls sed.exe in a way that breaks it
- [X] `./mach test-tidy` does not report any errors
- [X] There are tests for these changes on the Gecko side

Source-Repo: https://github.com/servo/servo
Source-Revision: e5762cb6953b5e202e8733e39e8267c4b67a9622
2017-04-26 01:47:00 -05:00
Simon Sapin
d54f7055a7 servo: Merge #16455 - Bug 1354970 - Add @counter-style rules (from servo:counter-style); r=upsuper
Source-Repo: https://github.com/servo/servo
Source-Revision: 2eff661ebb2737979b80367ada3ac99d73a06fc4
2017-04-26 00:59:58 -05:00
Manish Goregaokar
567f9dba51 servo: Merge #16611 - stylo: Add support for -moz-control-character-visibility (from Manishearth:stylo-controlchar); r=heycam
Source-Repo: https://github.com/servo/servo
Source-Revision: 5daf92dd5a33599fab399ce7432fb62a6aa4e554
2017-04-25 21:31:14 -05:00
Emilio Cobos Álvarez
191c3f7dbc servo: Merge #16608 - style: Move all the fixup code into a StyleAdjuster struct (from emilio:refactor-fixup); r=jryans
This will allow reusing it from text styles, which we need for some corner
cases, like text-align: -moz-center and similar stuff.

Source-Repo: https://github.com/servo/servo
Source-Revision: 09f0ff74811405eb95200ee78d936b4378de65fb
2017-04-25 20:31:00 -05:00
Bobby Holley
66afc11a36 servo: Merge #16606 - Downgrade selectors not() behavior to level 3 (from bholley:not_selector_level_3); r=SimonSapin
https://bugzilla.mozilla.org/show_bug.cgi?id=1348802

Source-Repo: https://github.com/servo/servo
Source-Revision: 9059c1d1fddefb8f48b3e568427c9cffb8371fa3
2017-04-25 17:43:48 -05:00
Manish Goregaokar
92f1295fbe servo: Merge #16597 - stylo: support all overflow values (from Manishearth:stylo-overflow); r=emilio
overflow:clip doesn't exist, it's just called clip internally. Renamed, and added the other missing values.

I also removed the overflow newtype -- no need for extra code bloat, and it's not protecting us from much.

Source-Repo: https://github.com/servo/servo
Source-Revision: cd8af862446ed8e4787d36d5de5d4dc254339a5e
2017-04-25 15:59:13 -05:00
Paul Rouget
d1044ecd05 servo: Merge #15794 - Notify embedder when history changes (from paulrouget:head_parsed_url); r=asajeffrey
Notify embedder when history changes

`WindowMethods::set_page_url` is only called when the embedder set the URL. It is not called when the page url is updated. I believe that instead we should just pass the URL to `head_parsed`.

---
<!-- 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 #15439 #15643 and #15642 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because I'm not sure how to test that

<!-- 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: dc594face82acc68d4de43e47026741c84153469
2017-04-25 14:14:31 -05:00
Manish Goregaokar
d89e4e5eff servo: Merge #16570 - Compute scriptminsize against the parent font base size (from Manishearth:scriptmin-parent); r=heycam
It's supposed to be, because it is used in the computation of the font size, so we can't have the current font size as a dependency.

http://searchfox.org/mozilla-central/rev/7aa21f3b531ddee90a353215bd86e97d6974e25b/layout/style/nsRuleNode.cpp#3842

Source-Repo: https://github.com/servo/servo
Source-Revision: 7aeed78eef0a082a8cc2314c421eb27ff6539bc3
2017-04-25 13:06:23 -05:00
Ravi Shankar
9942f7a4d0 servo: Merge #16444 - Cleanup various modules and introduce generic types (from Wafflespeanut:generics); r=emilio
Almost all the types in `values/specified` and `values/computed` share their `ToCss` implementations. The only reason they have duplicated code hanging around is a result of different specified and computed forms for types like `LengthOrPercentage`. This PR makes some of these types *generic* so that we could have a common definition and `ToCss` impl (`Parse` and `ToComputedValue` impls too, if possible).

Source-Repo: https://github.com/servo/servo
Source-Revision: 3c7c960e116200010ea4120741e520bea9c6cfd9
2017-04-25 07:29:33 -05:00
Aaron Cunningham
c4c63c006e servo: Merge #16598 - Fix various build warnings (from aacunningham:fix-build-errors); r=jdm
This removes six separate warnings when building servo. One of
the warnings was an unused mut, and the other were various dead code
warnings

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they address warnings from the build process

<!-- 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: f3c1bbe0700806ef2def3b0c5ce0dde4eba107ea
2017-04-25 01:02:56 -05:00
Manish Goregaokar
4f074ba671 servo: Merge #16596 - Handle length parsing mode for other types too (from Manishearth:length-parsing); r=heycam
All length types should handle this. Seems to block a couple tests.

try at https://treeherder.mozilla.org/#/jobs?repo=try&revision=b1eb64509e65f9dc548d361ac2ae00ce000c9d7b

Source-Repo: https://github.com/servo/servo
Source-Revision: fffb94530e6dcdfa021e1d86778ada4c7af2fbb9
2017-04-24 22:03:12 -05:00
Jeremy Chen
d88914f519 servo: Merge #16586 - Stylo: add -moz-border-*-colors support (from chenpighead:stylo-moz-border-colors-support); r=heycam
In Gecko, we use double pointers to nsBorderColors to store -moz-border-*-colors.
We can simplify the implementation of computed value in Servo by using Option<Vec>.
As to passing computed values from Servo to Gecko, we might need to use some
binding functions (pre-added in the same Gecko bug, see Bug 1348173).

Note that we also added -moz-border-*-colors as sub_properties of the 'border'
shorthand, so we can make the 'border' shorthand reset -moz-border-*-colors
(See Gecko Bug 482692).

A bit refactoring of replacing all ["top", "right", "bottom", "left"] with PHYSICAL_SIDES
is included in this patch, since we've already had PHYSICAL_SIDES for a while.

<!-- 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
- [ ] 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: ef5c61e8338ca550b970f9de20e014c3b4165bd5
2017-04-24 21:03:52 -05:00
Simon Sapin
dd054e342a servo: Merge #16589 - Update to cssparser 0.13 (from servo:cssparserup); r=emilio
https://github.com/servo/rust-cssparser/pull/140

Source-Repo: https://github.com/servo/servo
Source-Revision: e3e10ada09cf98df776d560d363fa70fcabfb64f
2017-04-24 18:47:00 -05:00
Emilio Cobos Álvarez
3466b18c66 servo: Merge #16595 - stylo: Fix a serialization bug for string pseudos (from emilio:strings-are-hard); r=Manishearth
The string is null-terminated, so we need to avoid passing that last null
character.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8efa680774209bfe557d270795b2dfe0daa51751
2017-04-24 12:34:08 -05:00
Jack Moffitt
d3bc52d30a servo: Merge #16530 - Remove DOMRectList and use sequences instead (from metajack:kill-domrectlist); r=nox
DOMRectList was removed last back in 2015. See
https://www.w3.org/Bugs/Public/show_bug.cgi?id=26200 for details.

<!-- 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 covered by existing tests

<!-- 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: ef3903163da57ef31ee0a2566b627c58473bdaab
2017-04-24 10:35:52 -05:00
ddh
8b04f65113 servo: Merge #16592 - added origin to globalscope (from avadacatavra:globalscope); r=jdm
<!-- Please describe your changes on the following line: -->
Replaces #16561

---
<!-- 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
- [ ] 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: 4263b798ad3969ceeb86e607d5f13eeadd2db6dd
2017-04-24 08:54:07 -05:00
Hiroyuki Ikezoe
98af515079 servo: Merge #16587 - Introduce intermediate rgba (from hiikezoe:intermediate-rgba); r=birtles,boris
<!-- Please describe your changes on the following line: -->
This is a PR for https://bugzilla.mozilla.org/show_bug.cgi?id=1356941
---
<!-- 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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 46bb635c4c1eb9e420392d7a761956c1cc10ce3a
2017-04-24 07:22:39 -05:00
Simon Sapin
f0fa06207c servo: Merge #16585 - Don’t log CSS parsing errors in user-agent stylesheets (from servo:log); r=emilio
This used to make `RUST_LOG=style` basically useless.

Source-Repo: https://github.com/servo/servo
Source-Revision: fd7af58becbcee8facfc07c5f9d028bb9c86c3a0
2017-04-24 05:05:51 -05:00
石博文
daa9b1e497 servo: Merge #16541 - Add calc method for CalcLengthOrPercentage (from sbwtw:fix_calc_behavior); r=stshine
* Add calc method to calculate formula value with parent size
* Add unit test case

<!-- Please describe your changes on the following line: -->
Please see this issue: https://github.com/servo/servo/issues/15986

---
<!-- 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 #15986 (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: 418c3e8cc74b561c9c704da4dfdfb74681bf42a1
2017-04-24 04:16:18 -05:00
Hiroyuki Ikezoe
fbb90ba886 servo: Merge #16580 - Fix parent element of pseudo element for updating animation (from hiikezoe:fix-pseudo-parent-for-animation); r=emilio
r? @emilio

Source-Repo: https://github.com/servo/servo
Source-Revision: 733820583e41778b8e30faa4ba120ab0b0390073
2017-04-23 21:41:24 -05:00
Mantaroh Yoshinaga
7611817fea servo: Merge #16555 - Make clip property animatable (from mantaroh:animate_clip); r=hiro
<!-- Please describe your changes on the following line: -->
This is a PR for https://bugzilla.mozilla.org/show_bug.cgi?id=1356162.
---
<!-- 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=1356162
<!-- 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: e357ea44bb5bfe657646bcfd19d9585fffb22401
2017-04-23 18:59:20 -05:00
Glenn Watson
f8c447b931 servo: Merge #16551 - Update WR (improved double border quality, minor API changes) (from glennw:update-wr-mostly-borders); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 0f6c883658930006994b2738f059d050c037ffb9
2017-04-23 17:50:08 -05:00
Bobby Holley
392497f42a servo: Merge #16578 - Fix up the style sharing cache (from bholley:fix_style_sharing_cache); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1358694

Source-Repo: https://github.com/servo/servo
Source-Revision: a26079d3229beefa90949a93e13ff374649374cc
2017-04-23 14:45:29 -05:00
Emilio Cobos Álvarez
1f00d273ac servo: Merge #16577 - style: Refactor overflow fixup to account for overflow: clip (from emilio:adjust-overflow); r=Wafflespeanut
This is the missing piece to make the remaining contain tests not assert on
Gecko.

Source-Repo: https://github.com/servo/servo
Source-Revision: c65dea95d7f8c8cfc1d88ca245d55d47128ab59a
2017-04-23 06:33:08 -05:00
Emilio Cobos Álvarez
3981e751b2 servo: Merge #16575 - style: trivially cleanup the matching code (from emilio:cleanup-matching); r=Wafflespeanut
I'm reworking this, and found this cleanup that I think is worth to land.

Source-Repo: https://github.com/servo/servo
Source-Revision: dfe0f4c2019001a204b0d6ef91fe10a358e20ce7
2017-04-23 04:55:34 -05:00
Jeremy Chen
4dbfe50c7a servo: Merge #16522 - Reset longhands of border-image to their initial value while parsing border shorthand (from chenpighead:stylo-border-reset-border-image); r=heycam
To do so, we need to declare the border-image longhands as part of border
shorthand and always reset them.

Spec link: https://drafts.csswg.org/css-backgrounds-3/#the-border-shorthands

<!-- 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 #15202  (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: 33c6abb1a8a908e848e5aab77bd9c2a94647b74c
2017-04-23 02:51:47 -05:00
Pu Xingyu
eed89b8922 servo: Merge #16458 - layout: Force reflow in the sequential fallback of block format context (from stshine:sequential-fallback); r=pcwalton,emilio
When reflowing a block format context during the inorder traversal,
propagate restyle damage manually to its children since they were
already reflowed. Also, test the border box to see if it can fit into
floats according to CSS 2.1 § 9.5.

Improves reddit and yahoo.

---
<!-- 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 #__ (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: 541db5f9a791f52e22d409d3b40b13223df69b4c
2017-04-22 23:55:22 -05:00
Nathan Froyd
497fd67fed servo: Merge #16550 - switch gecko_bindings over to the gecko_debug feature [DO NOT MERGE] (from froydnj:gecko-bindings-gecko-debug); r=froydnj
...so that they use the correct Gecko structs regardless of whether Rust
code is being compiled with debug assertions or not.

This is the second part of the Servo-side changes for https://bugzilla.mozilla.org/show_bug.cgi?id=1357556

- [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 building is a sufficient test.

Source-Repo: https://github.com/servo/servo
Source-Revision: f795eb1a8b7443ea9dc1cf1c81a6ac0484894659
2017-04-22 18:40:47 -05:00
Nazım Can Altınova
607e3e1da5 servo: Merge #16467 - stylo: Add glue for contain property (from canaltinova:contain); r=emilio
In gecko, `size` and `content` values aren't implemented yet. So I had to disable these parts with mako. We will need to update the property and the glue once these are implemented in gecko.

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

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so tha
t 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: 7ff803e322a4488eb6b7f813b5f4f82abc49c6c1
2017-04-22 16:58:24 -05:00
Anthony Ramine
189b8b939b servo: Merge #16563 - Use all for the default value of transition-property in transition (from nox:transition); r=hiikezoe
Source-Repo: https://github.com/servo/servo
Source-Revision: 55e2caba4c3b71c6267c273c840cd21dd1388aa0
2017-04-22 07:24:25 -05:00
Pu Xingyu
2942698eff servo: Merge #16337 - layout: Fix intrinsic inline size calculating of inline blocks (from stshine:inline-block-intrinsic); r=notriddle
When calculating intrinsic inline sizes of an inline block, take its
nested inline parents into account.

---
<!-- 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 #7636 (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: bbf292b12010509867dd594055162fa776f0de41
2017-04-21 22:43:06 -05:00
Bobby Holley
926227eb54 servo: Merge #16567 - Avoid pointer-chasing to check whether there are any declarations (from bholley:any_declarations); r=SimonSapin
https://bugzilla.mozilla.org/show_bug.cgi?id=1358375

Source-Repo: https://github.com/servo/servo
Source-Revision: 2d3a7b2001ae2cef2fa751a65faba1091eff1a48
2017-04-21 19:30:48 -05:00
Manish Goregaokar
10162ab1a2 servo: Merge #16564 - stylo: Support system fonts (from Manishearth:stylo-sys-2); r=xidorn
r=xidorn https://bugzilla.mozilla.org/show_bug.cgi?id=1349417

(take 2, we backed out the last one due to heap hazards)

Source-Repo: https://github.com/servo/servo
Source-Revision: 97c14f05df33fe4ce118f51bb23abf39000b4217
2017-04-21 17:03:28 -05:00
Imanol Fernandez
7bd74466d2 servo: Merge #15773 - Android life cycle improvements and Gradle integration (from MortimerGoro:android_improvements); r=larsbergstrom,fabricedesre
This PR includes Android life cycle Improvements and Gradle integration for android packaging.

Android life cycle improvements are implemented in both the new [MainActivity](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-f43708b102e98272c2af7454b8846927) and native code in this related PR: https://github.com/servo/glutin/pull/117
- Properly handle the life cycle of the Android Activity: manage EGLContext lost & restore, and animation loop pause/resume when the app goes to background/foreground or orientation changes. In the current upstream Servo crashes when the app goes to background, activity stops or changes orientation
- Handle event loop awake for Servo Animation loop
- Handle screen resize & orientation events
- Implement new keep_screen_on preference which keeps Android device's screen from ever going to sleep: very useful for games or WebVR
- Implement a full screen mode enabled by preference: very useful for games or WebVR
- Implement new shell.native-orientation preference which allows to lock the Activity to a specific orientation
- Automatically sync new android assets to sdcard when the Android version code is changed.  In the current upstream only the existence of the folder is check but resources are not updated

ofscreen_gl_context is updated to fix this: https://github.com/emilio/rust-offscreen-rendering-context/pull/83

This PR integrates Gradle build system for android packaging. Most of the code is implemented in this [build.gradle](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-89cdb9324addb994cdba0a158b209547) . We can get rid of [build-apk](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-40f5a7cf22f94aad059b2c1795347f5e) and manual jar dependency copying in the [package_commands.py](https://github.com/servo/servo/compare/master...MortimerGoro:android_improvements?expand=1#diff-0d425b142c8d10ae6ac1f3711fb5c23a). The correct version of gradle is automatically downloaded using the gradlew wrapper.

Some improvements:
- Allows to include more complex android dependencies/SDKs like AARs, manifest auto-merging and more.
- Improved packaging process: The gradle project is always in the same folder, it uses relative paths for everything (assets, native libraries) and outputs the apk into the correct target folder in servo. In the current upstream, ant/python build system copies the manifest, project, resources and jars each time so you end with multiple copies of the same files.
- Improved dependency declaration. We do not have to manually copy jar dependencies in the python script anymore. The gradle build scripts itself is able to search for the dependencies in the correct servo target folder.
- Supports packaging apks with different architectures: armeabi, armeabi-v7a, aarch64. We still need to fix some native servo compilation issues with armeabi-v7a, aarch64 due to dependencies which use `make`. I'll push this changes in a separate PR of the python build files but the gradle file is already ready to handle that.
- We can easily create product flavors for different versions of Servo. For example a default browser, a WebVR browser with additional dependencies or a Servo android Webview component
- Fixes minor.major.52 build error when blurdroid cargo dependency is compiled using java8 (the default in new Linux machines). The gradle build file enables the new Jack compiler which supports Java8 dependencies.
- The project can be opened with Android Studio and run the brand new GPU debugger on any Android phone. I'll add some docs in the Wiki about this.

---
<!-- 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 #14568 (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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 2b5c17c43a517b6d6bd981f5fa905536dddd3beb
2017-04-21 15:52:13 -05:00
Imanol Fernandez
2415d9d994 servo: Merge #16544 - Implement WebGL::GetShaderPrecisionFormat (from MortimerGoro:get_shader_precision_format); r=jdm
<!-- Please describe your changes on the following line: -->

Implement WebGL::GetShaderPrecisionFormat. See https://github.com/servo/gleam/pull/119 && https://github.com/servo/webrender/pull/1127

---
<!-- 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 #13985 (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: 1661ae6cf40df574853a822164d36f8d791c646a
2017-04-21 15:16:07 -05:00
Anthony Ramine
f4fc4462c3 servo: Merge #16548 - Improve parsing of gradients (from nox:webkit-gradients); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: dcbb3c7eb98e88df9e6a3849eaee96094ee6abbe
2017-04-21 14:40:02 -05:00