Commit graph

7387 commits

Author SHA1 Message Date
Brad Werth
dbb638e4f9 Bug 1363572 Part 1: Servo-side change stylesheet_set entry unique_id to u64.
MozReview-Commit-ID: 2QZGCbN9xc8
2017-05-12 13:50:10 -07:00
Nathan Froyd
e966d976fc explicitly specify bitness for x86 cross-compilation situations
Despite compiling for architecture X, the user may have specified a
clang that defaults to architecture Y.  We need to ensure that we invoke
clang with the correct architecture selection.  We do not use --target
to do this, however, because that runs into problems with LLVM's default
search paths.  For the x86 case, we can simply use -m$BITNESS to select
the correct architecture.
2017-05-12 14:29:12 -04:00
bors-servo
875b07b4ec Auto merge of #16826 - hiikezoe:check-animation-flag, r=birtles
Check ElementHasAnimations flag in rust side.

We can bail out earlier before calling an FFI function.
This is a PR for https://bugzilla.mozilla.org/show_bug.cgi?id=1364264 .

- [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/16826)
<!-- Reviewable:end -->
2017-05-12 12:35:52 -05:00
Boris Zbarsky
51cf50f20b Fix the situation when :any-link starts or stops matching to actually restyle correctly. 2017-05-12 13:22:41 -04:00
bors-servo
c260beba39 Auto merge of #16821 - Manishearth:variant-caps, r=jryans
font-variant-caps should accept all-small-caps and all-petite-caps

<!-- 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/16821)
<!-- Reviewable:end -->
2017-05-12 10:27:35 -05:00
Simon Sapin
8c9e5d9f9d Fix future illegal_floating_point_literal_pattern warnings.
They make component/style fail to build, because of `#[deny(warnings)]`
2017-05-12 16:12:17 +02:00
bors-servo
eeb1ee9723 Auto merge of #16802 - emilio:slim-down-slc, r=bholley
style: Slim down SharedStyleContext, and do various other cleanups around the style crate.

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.

<!-- 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/16802)
<!-- Reviewable:end -->
2017-05-12 08:56:47 -05:00
Fernando Jiménez Moreno
bc156cfe1c Stylo: Bug 1350175 - Support getting line / column number of CSS rules
Fix font_cache_thread test
2017-05-12 15:20:12 +02:00
Emilio Cobos Álvarez
25d39006b6
stylo: Stop cloning the list of stylesheets each flush. 2017-05-12 14:51:01 +02:00
Emilio Cobos Álvarez
677daaabc5
style: Parameterize the update and rebuild methods to take an iterator.
In preparation to avoid cloning the stylesheets while rebuilding in Gecko.
2017-05-12 14:50:59 +02:00
bors-servo
db080cea97 Auto merge of #16834 - emilio:nac-is-a-pain, r=bholley
Bug 1364377: Fix inheritance of NAC, and selector-matching of pseudo-implementing NAC.

<!-- 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/16834)
<!-- Reviewable:end -->
2017-05-12 07:25:00 -05:00
Emilio Cobos Álvarez
2ffffcfdce
Bug 1364377: Fix inheritance of NAC, and selector-matching of pseudo-implementing NAC. r=bholley
MozReview-Commit-ID: DjSyaWHq1Xj
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-05-12 13:07:29 +02: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
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
Manish Goregaokar
1b9bac7e66 Bump cssparser to 0.13.3 2017-05-11 12:50:40 -07: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
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
Bobby Holley
e9d4110ad4 Handle importance when inserting into the rule tree. 2017-05-11 17:37:17 +02: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
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
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
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
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
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
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
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
Emilio Cobos Álvarez
3ec2b4f486
style: Adjust text-align properly for -moz- values in tables.
Fixes bug 1363576.

Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-05-10 12:59:14 +02:00
Emilio Cobos Álvarez
e6fc0aae14
Update bindgen.
MozReview-Commit-ID: Dyyvo6YMTcL
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-05-10 12:17:02 +02:00
Emilio Cobos Álvarez
c732b0c600
Bug 1355343: Cache snapshot lookups. r=bholley
This is likely to be important at least for the initial element.

For the rest of them this is likely useless because we create them in a
throwaway fashion.

MozReview-Commit-ID: EFz9WUdB8S0
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-05-10 12:05:40 +02:00
Emilio Cobos Álvarez
46bf5d61f0
Bug 1355343: Take all the snapshots into account. r=bholley
I've chosen this approach mainly because there's no other good way to guarantee
the model is correct than holding the snapshots alive until a style refresh.

What I tried before this (storing them in a sort of "immutable element data") is
a pain, since we call into style from the frame constructor and other content
notifications, which makes keeping track of which snapshots should be cleared an
which shouldn't an insane task.

Ideally we'd have a single entry-point for style, but that's not the case right
now, and changing that requires pretty non-trivial changes to the frame
constructor.

MozReview-Commit-ID: FF1KWZv2iBM
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-05-10 12:05:39 +02:00
Emilio Cobos Álvarez
7d45aad9b4
Bug 1355343: Move node restyle bits to Element, and add bits for snapshot handling. r=bholley
MozReview-Commit-ID: 6OrUKX5RcBq
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-05-10 12:05:38 +02:00
bors-servo
0040160b38 Auto merge of #16792 - birtles:make-animatable-trait, r=hiro
Combine ComputeDuration and Interpolate into a single trait

Pull request for [Gecko bug 1363573](https://bugzilla.mozilla.org/show_bug.cgi?id=1363573)

The pull request has been reviewed by @hiikezoe

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] There are tests for these changes in Gecko

<!-- 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/16792)
<!-- Reviewable:end -->
2017-05-10 02:05:43 -05:00
Brian Birtles
6dfc1d1aa8 Merge ComputeDistance trait into Animatable trait 2017-05-10 14:41:26 +09:00
bors-servo
bd3ebf219e Auto merge of #16791 - upsuper:counters-fix, r=heycam
Fix serialization of counters function.

This would fix several failures in Gecko's test.

<!-- 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/16791)
<!-- Reviewable:end -->
2017-05-10 00:26:04 -05:00