Commit graph

25796 commits

Author SHA1 Message Date
Imanol Fernandez
593e89086f Fix unsafe AtomicRefCell<PersistentLayoutData> transmute due to memory alignment differences 2017-05-12 12:48:13 +02:00
bors-servo
1faac6a6e6 Auto merge of #16811 - heycam:snapshots, r=emilio
style: record attribute and state selector dependencies

From https://bugzilla.mozilla.org/show_bug.cgi?id=1352306.

<!-- 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/16811)
<!-- Reviewable:end -->
2017-05-12 05:41:35 -05:00
Cameron McCormack
bc685fde68 style: Support :-moz-autofill and :-moz-autofill-preview in Gecko. 2017-05-12 17:36:37 +08:00
Cameron McCormack
b405a1cb67 style: Record ElementState bits that selectors depend on. 2017-05-12 17:02:50 +08:00
Cameron McCormack
5cf915118e style: Record names that appear in attribute selectors. 2017-05-12 17:02:18 +08:00
bors-servo
58253f545b Auto merge of #16818 - zombiefungus:fix15638, r=Manishearth
Add default value to layout.threads in prefs.rs (fix #15638)

<!-- Please describe your changes on the following line: -->
Add default value to layout.threads in prefs.rs

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

<!-- 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/16818)
<!-- Reviewable:end -->
2017-05-12 03:53:24 -05:00
bors-servo
48fdda3f07 Auto merge of #16785 - aethanyc:fix-typo-and-simplify, r=mbrubeck
Fix typo and simplify for PresentationalHintsSynthesizer

<!-- 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 do not require tests because it only affects build.

<!-- 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/16785)
<!-- Reviewable:end -->
2017-05-12 02:41:25 -05:00
Hiroyuki Ikezoe
652c2153a4 Check ElementHasAnimations flag in rust side.
We can bail out earlier before calling an FFI function.
2017-05-12 12:07:26 +09:00
Manish Goregaokar
f80690fa41 font-variant-caps should accept all-small-caps and all-petite-caps 2017-05-11 15:00:55 -07:00
bors-servo
d1f2cdfb3d Auto merge of #16815 - Manishearth:cssup, r=metajack
Bump cssparser to 0.13.3

<!-- 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/16815)
<!-- Reviewable:end -->
2017-05-11 16:10:23 -05:00
zombiefungus
b055e07aa7 Add default value to layout.threads in prefs.rs (fix15638) 2017-05-11 15:28:37 -05:00
Manish Goregaokar
1b9bac7e66 Bump cssparser to 0.13.3 2017-05-11 12:50:40 -07:00
bors-servo
c277beab2b Auto merge of #16816 - MortimerGoro:unsafe_layout_data_cast, r=SimonSapin
Fix unsafe casting between PersistentLayoutData and PartialPersistentLayoutData

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

PersistentLayoutData and PartialPersistentLayoutData castings in Layout component assume that they have the same base raw address. This is unsafe because field orders is not guaranteed by default, and it's causing some SEGV crashes on Android indeed (https://github.com/servo/servo/issues/16647)

Add a C representation to guarantee that the order of the fields and the safe casting.
---
<!-- 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 #16647 (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. -->

<!-- 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/16816)
<!-- Reviewable:end -->
2017-05-11 14:47:24 -05:00
Imanol Fernandez
273bcfbd8e Fix unsafe casting between PersistentLayoutData and PartialPersistentLayoutData 2017-05-11 21:30:59 +02:00
Emilio Cobos Álvarez
50e0c67e2c
style: Stop refcounting the stylist. 2017-05-11 21:05:42 +02:00
Emilio Cobos Álvarez
ebd9bf8181
style: Slim down SharedStyleContext.
This slims down SharedStyleContext, in preparation for a few things.

First, I would like to eventually move the stylist to the document in Servo, in
order for it to hold the StyleSheetSet.

Also, this gets rid of a fair amount of overhead while creating it in stylo.

Fixes bug 1363245.
2017-05-11 21:05:41 +02:00
bors-servo
e196776c24 Auto merge of #16807 - mrobinson:scroll-clamping, r=emilio
Fix clamping of scroll position in window.scrollBy

For rightward and downward overflow the spec says:

Let x be max(0, min(x, viewport scrolling area width - viewport width)).
Let y be max(0, min(y, viewport scrolling area height - viewport height)).

Previously, those operations were reversed, which created negative
overflow even when the overflow direction was downward. This change
ensures that Servo matches spec 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. -->

<!-- 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/16807)
<!-- Reviewable:end -->
2017-05-11 13:23:39 -05:00
bors-servo
f579405510 Auto merge of #16813 - bholley:importance_handling, r=emilio
Handle importance when inserting into the rule tree

https://bugzilla.mozilla.org/show_bug.cgi?id=1358635

<!-- 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/16813)
<!-- Reviewable:end -->
2017-05-11 12:21:02 -05:00
Martin Robinson
b13cf11505 Fix clamping of scroll position in window.scrollBy
For rightward and downward overflow the spec says:

Let x be max(0, min(x, viewport scrolling area width - viewport width)).
Let y be max(0, min(y, viewport scrolling area height - viewport height)).

Previously, those operations were reversed, which created negative
overflow even when the overflow direction was downward. This change
ensures that Servo matches spec behavior.
2017-05-11 19:20:31 +02:00
Bobby Holley
e9d4110ad4 Handle importance when inserting into the rule tree. 2017-05-11 17:37:17 +02:00
bors-servo
060a651f88 Auto merge of #16812 - MortimerGoro:update_blurdroid, r=jdm
Update blurdroid and set ANDROID_SDK in build_steps.yml

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

See https://github.com/servo/saltfs/issues/661. Update blurdroid and set ANDROID_SDK in build_steps.yml

cc @aneeshusa @larsbergstrom

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

<!-- 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/16812)
<!-- Reviewable:end -->
2017-05-11 10:32:52 -05:00
bors-servo
973bf7af40 Auto merge of #16806 - heycam:state, r=bholley
style: Fix IN_LOADING_STATE value.

;_;

<!-- 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/16806)
<!-- Reviewable:end -->
2017-05-11 08:33:47 -05:00
Imanol Fernandez
a4a4d96e9c Update blurdroid and set ANDROID_SDK in build_steps.yml 2017-05-11 14:43:51 +02:00
bors-servo
48b5e5ebc4 Auto merge of #16805 - brisad:master, r=Wafflespeanut
Make no_viewport_percentage! use an absolute path for HasViewportPerc…

…entage

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

<!-- Either: -->
- [X] These changes do not require tests because the compiler warnings should be enough

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

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16805)
<!-- Reviewable:end -->
2017-05-11 07:30:30 -05:00
Michael Brennan
f7459fd848 Make no_viewport_percentage! use an absolute path for HasViewportPercentage 2017-05-11 14:24:03 +02:00
bors-servo
7281668763 Auto merge of #16797 - ferjm:bug1361994.mozdocument.cssom, r=xidorn
Stylo: Bug 1361994 - Implement access to CSSMozDocumentRule

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

Bugzilla bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1361994

<!-- 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/16797)
<!-- Reviewable:end -->
2017-05-11 06:27:42 -05:00
bors-servo
0b4726c055 Auto merge of #16810 - bholley:bool_flags_wrapper_cache, r=emilio
Handle mBoolFlags living on nsWrapperCache

https://bugzilla.mozilla.org/show_bug.cgi?id=1363375

<!-- 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/16810)
<!-- Reviewable:end -->
2017-05-11 04:37:50 -05:00
Bobby Holley
2ee99ddf10 Handle mBoolFlags living on nsWrapperCache. 2017-05-11 11:36:59 +02:00
Cameron McCormack
c0ab74324a style: Fix IN_LOADING_STATE value. 2017-05-11 16:01:40 +08:00
bors-servo
9a419ec3d5 Auto merge of #16799 - pyfisch:unused-opts, r=Wafflespeanut
Remove unused opts

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

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

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

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16799)
<!-- Reviewable:end -->
2017-05-11 02:11:56 -05:00
bors-servo
f7d67b8624 Auto merge of #16804 - hiikezoe:allow-unitless-length-for-smil, r=birtles
Allow unitless length for smil

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

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

<!-- 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/16804)
<!-- Reviewable:end -->
2017-05-10 21:25:47 -05:00
bors-servo
6de4c93aaf Auto merge of #16800 - Manishearth:border-radius, r=emilio
Allow border radii to be set via preshints

Fixes rendering of `<hr>`

<!-- 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/16800)
<!-- Reviewable:end -->
2017-05-10 19:05:21 -05:00
Hiroyuki Ikezoe
5c8394f469 Update bindings. 2017-05-11 08:29:00 +09:00
Hiroyuki Ikezoe
51e434c790 Allow unitless length for SMIL values. 2017-05-11 08:29:00 +09:00
Hiroyuki Ikezoe
51fb4456fc Use parse_property for Servo_CSSSupports2() as well. 2017-05-11 08:29:00 +09:00
Hiroyuki Ikezoe
7ebdf95a3d Factor out common part of Servo_ParseProperty() and set_property(). 2017-05-11 08:29:00 +09:00
Manish Goregaokar
d1c3021f43 Make unknown pres attrs panic 2017-05-10 16:26:29 -07:00
bors-servo
15f3db5abf Auto merge of #16794 - emilio:table-text-fixup, r=Manishearth
style: Adjust text-align properly for -moz- values in tables.

Fixes bug 1363576.

<!-- 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/16794)
<!-- Reviewable:end -->
2017-05-10 17:24:57 -05:00
bors-servo
c6c0252b19 Auto merge of #16798 - bzbarsky:stylist-lazier-updates, r=emilio
Allow stylo to do lazier stylist rebuilds

---
<!-- 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 https://bugzilla.mozilla.org/show_bug.cgi?id=1361843 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it's optimization, which should have no observable behavior difference.

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

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16798)
<!-- Reviewable:end -->
2017-05-10 16:22:06 -05:00
Manish Goregaokar
195e37954f Allow border radii to be set via preshints 2017-05-10 14:08:01 -07:00
Boris Zbarsky
4588664873 Clear the stylist when Gecko stylesheets change, but don't rebuild it until explicitly flushed.
This is the servo part of part 3 of the fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1361843
2017-05-10 16:25:54 -04:00
Pyfisch
11903830f8 Remove unused debug opts 2017-05-10 22:15:58 +02:00
bors-servo
c8171ed5d7 Auto merge of #16778 - emilio:snapshots, r=bholley
Take all the snapshots into account in the style system

See [bug 1355343](https://bugzilla.mozilla.org/show_bug.cgi?id=1355343).

The servo part of this patch presumably needs some polishing, let's see.

<!-- 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/16778)
<!-- Reviewable:end -->
2017-05-10 15:08:59 -05:00
Pyfisch
588922fecf Remove "Must be used with -w option" note 2017-05-10 21:54:32 +02:00
Ting-Yu Lin
4c9d8d36ad Simply element bounds in stylist
TElement already inherits from Debug and PresentationalHintsSynthesizer.
2017-05-10 11:28:31 -07:00
Ting-Yu Lin
dd5f73750c Fix typo for PresentationalHintsSynthesizer 2017-05-10 11:28:26 -07:00
Boris Zbarsky
fb5b587371 Split up Stylist's update() method into separate clear() and rebuild() methods.
This is part 1 of the fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1361843
2017-05-10 13:11:01 -04:00
bors-servo
d5efed6c6a Auto merge of #16770 - nox:POSITION-DO-YOU-EVEN, r=Wafflespeanut,nox
Refactor Position

<!-- 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/16770)
<!-- Reviewable:end -->
2017-05-10 09:56:17 -05:00
Anthony Ramine
70ec61cf01 Refactor Position
A specified position is now a struct made of two values of different types,
the first one being PositionComponent<X>, and the second one PositionComponent<Y>.

A position component is represented by the new enum PositionComponent<Side>,
with the three values Center, Length(LengthOrPercentage), and
Side(Side, Option<LengthOrPercentage>).

Side keywords are represented by the X and Y enums, which don't include a value
for the center keyword anymore. They are accompanied by the Side trait, which
allows us to determine whether a side keyword is "left" or "top".

This refactor simplified the parsing and serialisation code and exposed bugs in it,
where it would reject valid <position> values followed by arbitrary tokens,
and where it would fail to prefer "left" to "right" when serialising positions
in basic shapes.
2017-05-10 16:56:01 +02:00
Fernando Jiménez Moreno
79e9168c00 Stylo: Bug 1361994 - Implement access to CSSMozDocumentRule 2017-05-10 16:55:44 +02:00