Commit graph

7387 commits

Author SHA1 Message Date
bors-servo
1755ad7b75 Auto merge of #15077 - emilio:stylo-medialist, r=heycam,Manishearth,upsuper
Media query parsing and evaluation in stylo using nsMediaFeatures

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

Reviewed in the bug.

<!-- 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/15077)
<!-- Reviewable:end -->
2017-01-18 05:39:57 -08:00
Emilio Cobos Álvarez
182e0758f7
Regenerate bindings.
MozReview-Commit-ID: 4XEaLnhGSqT
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-18 14:39:26 +01:00
Xidorn Quan
0a3866cfa8 Fix initial value of -moz-user-{input,focus} 2017-01-18 13:59:50 +11:00
bors-servo
f010fb58fd Auto merge of #15065 - Manishearth:box-calclop, r=heycam
Use Box<CalcLengthOrPercentage> in specified values to avoid bloating inline sizes

For #15061

CalcLOP is a large struct, and gets used quite often. While #15063 reduces its size a bit,
it will still be much larger than any of the other variants in the `specified::Length*` types,
so it will still bloat sizes, especially for specified values that contain many lengths.

This change boxes it in the length types, so that it just takes one word.

r? @heycam

<!-- 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/15065)
<!-- Reviewable:end -->
2017-01-17 11:49:52 -08:00
bors-servo
4b3fbc0059 Auto merge of #15071 - upsuper:page-break-after, r=emilio
Fix typo in glue code for page-break-after

<!-- 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/15071)
<!-- Reviewable:end -->
2017-01-17 09:05:33 -08:00
bors-servo
b4980f9037 Auto merge of #15069 - heycam:bindgen-regex-update, r=emilio
Update geckolib build-time bindgen build script for recent regex changes.

`./mach build-geckolib --with-gecko ...` is broken due to regex's API changing a bit.

r? @Manishearth

<!-- 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/15069)
<!-- Reviewable:end -->
2017-01-17 08:13:47 -08:00
Manish Goregaokar
f59557d2f2 Box CalcLengthOrPercentage to reduce inline size of PropertyDeclaration(s) 2017-01-17 08:09:54 -08:00
Emilio Cobos Álvarez
3b36f4c58e
Bug 1331213: Implement the resolution override. r=heycam
MozReview-Commit-ID: LFGam2hDoh7
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-17 14:18:56 +01:00
Emilio Cobos Álvarez
13878d674c
Bug 1331213: Implement Device::media_type, without supporting overrides for now. r=heycam
MozReview-Commit-ID: 9AeHViwoX1t
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-17 14:18:53 +01:00
Emilio Cobos Álvarez
646258e5a0
Bug 1331213: Don't make the pres context pointers opaque. r=heycam
I don't know why they were that way, but it makes no sense and tests still pass.

MozReview-Commit-ID: HAIuQhqlTtF
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-17 14:18:51 +01:00
Emilio Cobos Álvarez
10a1b887d6
Bug 1331213: Implement the bulk of media query evaluation. r=heycam
Two main notes:

 * The nsStringBuffer bit goes untested, since it's only used on windows and
   there's no way I can test it, please review with care.

 * I haven't implemented yet the "enumerated" media queries. I'd want to do it
   as a follow-up, because I'm running out of time, and it requires some
   investigation.

MozReview-Commit-ID: 1pBbzyIViPk
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-17 14:18:49 +01:00
Emilio Cobos Álvarez
197f21f3a7
Bug 1331213: Allow parsing media query expressions without colons. r=heycam
This is used for stuff like @media (monochrome), etc.

MozReview-Commit-ID: ANhZLXDURDj
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-17 14:05:37 +01:00
Emilio Cobos Álvarez
2dceb4502f
Bug 1331213: Add sugar for nsCSSValue and nsCSSValue::Array. r=heycam r=Manishearth
I will use this soon to implement the media query evaluation code.

Please review carefully.

MozReview-Commit-ID: HXelawXBfH8
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-17 14:05:34 +01:00
Emilio Cobos Álvarez
ad32f40e13
Bug 1331213: Add an API to drop a nsCSSValue in the stack. r=heycam
The getter function may create an nsCSSValue with allocated stuff, and we don't
want to leak it.

MozReview-Commit-ID: DYkUD8CW88E
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-17 14:05:32 +01:00
Emilio Cobos Álvarez
5b5243b8af
Bug 1331213: Bootstrap a Gecko-side Device, and track it's dirtiness manually in the per-doc data. r=heycam
The setup is quite different to Servo-land, so add a comment about the different
setup.

Also, check viewport rules when flushing stylesheets. I believe that the
previous behavior is plain wrong, though I haven't taken the time to come up
with a test case.

In any case, it doesn't hurt any of both back-ends.

MozReview-Commit-ID: 46gtTkesOsr
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-17 14:05:23 +01:00
Emilio Cobos Álvarez
5d6ac65e04
Bug 1331213: Add an API to get nsMediaFeatures::features. r=heycam
We can't use the generated ones if we want a windows build.

MozReview-Commit-ID: 200LNgWl5Lm
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-17 13:59:00 +01:00
Emilio Cobos Álvarez
7d2f43df58
Bug 1331213: Generate nsMediaFeatures and nsMediaList, along with a bunch of other stuff in nsCSSProps. r=xidorn
MozReview-Commit-ID: 8ANuHlp886J
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-17 13:58:44 +01:00
Emilio Cobos Álvarez
4843fcad80
Bug 1331213: Add a descriptive error message when an include isn't found. r=xidorn
Kind of drive-by.

MozReview-Commit-ID: CHLYcrLhyRq
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-17 13:58:34 +01:00
bors-servo
a70af60eec Auto merge of #15063 - Wafflespeanut:calc, r=heycam
Cleaning up CalcLengthOrPercentage

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

We don't really need enum variants in `CalcLengthOrPercentage`. Given that we already have the information (whether it's `vw`, `ch`, etc.) in the struct fields, we could just store `Option<CSSFloat>` there, and modify our `ToCss` implementation a bit.

cc #15061

r? @Manishearth or anyone interested

---
<!-- 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 a refactor

<!-- 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/15063)
<!-- Reviewable:end -->
2017-01-17 02:18:15 -08:00
Xidorn Quan
3131a1b1c1 Fix typo in glue code for page-break-after 2017-01-17 20:41:40 +11:00
Cameron McCormack
d4023a32d4 Update geckolib build-time bindgen build script for recent regex changes. 2017-01-17 16:59:30 +08:00
Ravi Shankar
6cf9fc0813 Prefer CSSFloat instead of enum variants in CalcLoP 2017-01-17 11:34:16 +05:30
Xidorn Quan
5d2bb99d49 Never blockify display: none 2017-01-17 11:32:09 +11:00
bors-servo
b9c6f9f76e Auto merge of #15040 - Manishearth:stylo-supports, r=heycam
stylo: support 1-arg CSS.supports()

r=heycam in https://bugzilla.mozilla.org/show_bug.cgi?id=1331316

<!-- 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/15040)
<!-- Reviewable:end -->
2017-01-16 13:56:51 -08:00
bors-servo
e01417e936 Auto merge of #15031 - emilio:stylo-display-none-pseudo, r=bholley
Bug 1331272: style: Unify restyle-damage display: none checks.

They were formerly different because we used the element check to cull the
traversal.

Now this is no longer true, so we can just unify them.

Also, update a no-longer up-to-date comment on that.

r? @bholley

<!-- 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/15031)
<!-- Reviewable:end -->
2017-01-16 12:07:02 -08:00
bors-servo
57d6b8ec45 Auto merge of #15039 - heycam:bindings-update-17, r=emilio
stylo: Regenerate bindings.

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

Bindings update for the sync I'll pushed based on https://treeherder.mozilla.org/#/jobs?repo=try&revision=42b2ac6142ddec57f60f4c3c05ec7c7d5aba9533, assuming there's nothing wrong.

r? @Manishearth

<!-- 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/15039)
<!-- Reviewable:end -->
2017-01-16 06:48:07 -08:00
bors-servo
bb540cab63 Auto merge of #15042 - servo:update-regex, r=jdm
Update regex.

<!-- 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/15042)
<!-- Reviewable:end -->
2017-01-16 05:59:18 -08:00
Ms2ger
a1d478fbb7 Update regex. 2017-01-16 13:11:16 +01:00
Manish Goregaokar
98fd42df17 stylo: support 1-arg CSS.supports() 2017-01-16 00:42:52 -08:00
Emilio Cobos Álvarez
6f3957a549
Bug 1331272: style: Unify restyle-damage display: none checks.
They were formerly different because we used the element check to cull the
traversal.

Now this is no longer true, so we can just unify them.

Also, update a no-longer up-to-date comment on that.

MozReview-Commit-ID: FH5GH7NfI8G
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-16 09:39:14 +01:00
Cameron McCormack
6ca0c10e79 stylo: Regenerate bindings. 2017-01-16 16:22:55 +08:00
Xidorn Quan
66af7e4d3a Store blink value for text-decoration-line
The spec does say user agents may not blink, but it doesn't say this
value can be ignored during parsing.
2017-01-16 16:23:11 +11:00
bors-servo
4c401e47dc Auto merge of #14999 - Manishearth:stylo-prefs, r=heycam
stylo: Hook property parsing into Gecko prefs

r=heycam, https://bugzilla.mozilla.org/show_bug.cgi?id=1297322

This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14999)
<!-- Reviewable:end -->

<!-- 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/14999)
<!-- Reviewable:end -->
2017-01-14 09:23:05 -08:00
Hiroyuki Ikezoe
f960b4c444 Bug 1330824 - Do not copy animation property over mAnimationXXCount. r=heycam
MozReview-Commit-ID: GeSWnPQltHf
2017-01-14 11:43:35 +09:00
Hiroyuki Ikezoe
f66774b096 Bug 1330824 - Do not set mAnimationNameCount less than 1. r=heycam
animation-name property is 'allow_empty=True', we have to handle 0-length
array case.

MozReview-Commit-ID: LwU3RfhfVfH
2017-01-14 11:42:48 +09:00
Hiroyuki Ikezoe
2d19e67fc4 Bug 1330824 - Add IndexMut for nsStyleAutoArray. r=heycam
MozReview-Commit-ID: 9EU8g4SLoHp
2017-01-14 11:42:23 +09:00
Hiroyuki Ikezoe
ce59a7e9ee Bug 1330824 - Add truncate for nsAString and nsACString. r=mystor
MozReview-Commit-ID: 2ND5ra3buxI
2017-01-14 11:42:22 +09:00
Hiroyuki Ikezoe
b914d41d52 Bug 1330824 - Use impl_copy_animation_value for animation-timing-function. r=heycam
I did forget to do it in bug 1328786.

MozReview-Commit-ID: IDpVShW6nrH
2017-01-14 11:35:58 +09:00
Manish Goregaokar
05728839f1 stylo: Hook property parsing into Gecko prefs
MozReview-Commit-ID: 7evWOUFwa3K
2017-01-13 14:22:16 -08:00
Manish Goregaokar
296b468801 stylo: Expose property-pref mappings
MozReview-Commit-ID: 7evWOUFwa3K
2017-01-13 14:22:04 -08:00
bors-servo
a46e630b00 Auto merge of #14968 - Manishearth:stylo-keyframes, r=heycam,birtles
stylo: Store servo computed values for animation properties

Servo counterpart of https://bugzilla.mozilla.org/show_bug.cgi?id=1317208

r=heycam,birtles

<!-- 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/14968)
<!-- Reviewable:end -->
2017-01-13 13:25:39 -08:00
Xidorn Quan
679d9dece7 Fix filling of two vector fields for geckolib 2017-01-13 16:43:27 +11:00
Bobby Holley
e29cd8f532 Bug 1329854 - Avoid propagating the dirty descendants bit when appending items to display:none subtrees. r=heycam 2017-01-12 17:39:54 -08:00
bors-servo
6447a97838 Auto merge of #14964 - canaltinova:ok-try, r=Wafflespeanut
Remove unnecessary try!'s

<!-- Please describe your changes on the following line: -->
These try!'s are unnecessary here. We can remove them.

---
<!-- 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 just refactoring

<!-- 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/14964)
<!-- Reviewable:end -->
2017-01-11 15:47:04 -08:00
Manish Goregaokar
d87b710fdd stylo: Store servo computed values for animation properties
MozReview-Commit-ID: IoQLN5tdIBw
2017-01-11 15:24:53 -08:00
Nazım Can Altınova
c2dd14d3bb Remove unnecessary try!'s 2017-01-11 22:29:15 +03:00
Xidorn Quan
0a56ec3477 Extend supported geometry box value for geckolib 2017-01-11 21:14:13 +11:00
Xidorn Quan
8a8ef48fb3 Add other property aliases 2017-01-11 11:18:01 +11:00
Xidorn Quan
2f2044e4b7 Add gecko leagcy logical properties aliases 2017-01-11 11:17:58 +11:00
Xidorn Quan
e494a0f0a7 Add prefixes parameter for properties 2017-01-11 11:17:55 +11:00