Commit Graph

1286 Commits

Author SHA1 Message Date
Bobby Holley
4b46729f61 servo: Merge #16100 - stylo: Use a threadsafe array for counters (from bholley:threadsafe_array_for_counters); r=upsuper
See https://bugzilla.mozilla.org/show_bug.cgi?id=1348606

Source-Repo: https://github.com/servo/servo
Source-Revision: 6a9fe88929c6fbfb6584efff1a11eb493dce68cc
2017-03-23 10:00:41 -07:00
Emilio Cobos Álvarez
3c2ad7b186 servo: Merge #16094 - Bug 1349885: stylo: Simplify computation of float and position (from emilio:simplify-float-pos); r=heycam,upsuper
Source-Repo: https://github.com/servo/servo
Source-Revision: 9d0b481789167a330b614240e73668d7d33632fe
2017-03-23 05:35:28 -07:00
Emilio Cobos Álvarez
dfca7ce94e servo: Merge #16093 - Bug 1349553: Account for negations of state-dependent selectors (from emilio:state); r=bholley,heycam
Source-Repo: https://github.com/servo/servo
Source-Revision: 301ba366b88821bd85a2a5b700d4671ab3958aca
2017-03-23 01:52:43 -07:00
Bobby Holley
e0221b84fc servo: Merge #16092 - Handle URLs more efficiently in stylo (from bholley:specified_urls); r=emilio
Approved in https://bugzilla.mozilla.org/show_bug.cgi?id=1347435

Source-Repo: https://github.com/servo/servo
Source-Revision: d4d8293f22aaa4a310abc818c26464abceab894f
2017-03-22 19:13:07 -07:00
Boris Zbarsky
e385954a20 servo: Merge #16090 - Implement :required/:optional support for stylo (from bzbarsky:required-optional); r=emilio
Servo side of https://bugzilla.mozilla.org/show_bug.cgi?id=1349659

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

<!-- 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: 2124220a63c84d1f1562b010fe3869364336c4ac
2017-03-22 17:28:25 -07:00
Matt Brubeck
9f6f726934 servo: Merge #16088 - Update parking_lot_core and smallvec (from mbrubeck:always-be-updating); r=emilio
- [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 update third-party code only

Source-Repo: https://github.com/servo/servo
Source-Revision: e0f1855c102d45bc4c83dfd5fb67d145126903da
2017-03-22 16:21:28 -07:00
Boris Zbarsky
fbff6a0a7d servo: Merge #16085 - Use less fragile and more readable numbering for ElementState (from bzbarsky:better-numbering-of-pseudoclasses); r=emilio
<!-- 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 it's just cleanup preliminary to another change I'm working on.

<!-- 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: 405ab82868b2743d8289b9b49359b0d14b5ad64b
2017-03-22 15:41:37 -07:00
Lucjan Suski
059f89c24e servo: Merge #16081 - Stylo: Add grid-gap shorthand (from methyl:grip-gap-shorthand); r=Manishearth
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

Should I add any tests?

Source-Repo: https://github.com/servo/servo
Source-Revision: 4715d3cd379e4b5e4f346ff9ebba8b0bce50ee28
2017-03-22 10:43:10 -07:00
Matt Brubeck
40fed2e38d servo: Merge #16082 - Bug 1337068 - stylo: :empty, :-moz-first-node, :-moz-last-node, and :-moz-only-whitespace (from mbrubeck:moz-first-node); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1337068

Source-Repo: https://github.com/servo/servo
Source-Revision: b01a9e44684954919575dbf37c8c1fcc7824c4f6
2017-03-22 10:02:57 -07:00
Lucjan Suski
19b26f9ad6 servo: Merge #16076 - Stylo: Add gecko glue for grid-auto-flow (from methyl:grid-auto-flow-glue); r=Wafflespeanut
- [x] `./mach build-geckolib` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #16025 (github issue number if applicable).
- [x] These changes do not require tests because we don't test gecko glue code

Source-Repo: https://github.com/servo/servo
Source-Revision: 2fcbdb62f7c9008ecf13ad249fdc25615cced2f9
2017-03-22 04:57:21 -07:00
Emilio Cobos Álvarez
b96bb79541 servo: Merge #16077 - Bug 1345950: stylo: Fix slow selector flags. r=bholley (from emilio:slow-flags); r=bholley
Source-Repo: https://github.com/servo/servo
Source-Revision: 545f8744126157d273158c5404d07fb09621d3ea
2017-03-22 03:23:51 -07:00
Nazım Can Altınova
ca71733b1d servo: Merge #15813 - Implement parsing/serialization and glue for will-change property (from canaltinova:will-change); r=upsuper,emilio
Implement parsing/serialization  and glue for will-change property

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

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

<!-- 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: cb1438e44f0550378867a308494e4f84b1e00478
2017-03-21 21:56:23 -07:00
Manish Goregaokar
c5c268f7bf servo: Merge #16066 - stylo: Support all non-ts pseudos with an argument (from Manishearth:stylo-nonts); r=emilio
r=emilio https://bugzilla.mozilla.org/show_bug.cgi?id=1341086#c34

Source-Repo: https://github.com/servo/servo
Source-Revision: 82b88aad453f376a97adcca7b45d0b0ee390c817
2017-03-21 20:20:28 -07:00
Boris Chiou
ca161043b2 servo: Merge #16062 - stylo: Make specified::parse_number() return finite f32 (from BorisChiou:stylo/animation/parse_number); r=emilio
We need to clamp the float numbers to avoid positive/negative infinity in timing functions, transform functions, and other possible css values to avoid undefined behaviors and assertions.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1343153](https://bugzilla.mozilla.org/show_bug.cgi?id=1343153) and [Bug 1336769](https://bugzilla.mozilla.org/show_bug.cgi?id=1336769)
- [X] These changes do not require tests because gecko has related tests

Source-Repo: https://github.com/servo/servo
Source-Revision: d790973fb4ff7f856a14c26cf9c41628daf4ca81
2017-03-21 09:22:37 -07:00
Emilio Cobos Álvarez
97c8f86462 servo: Merge #16056 - Revendor rust nsstring bindings (from emilio:nsstring-vendor); r=mystor
r? @mystor

Source-Repo: https://github.com/servo/servo
Source-Revision: 6d3f1666711670f061367aa560c1263a9546f2ab
2017-03-21 07:13:28 -07:00
Boris Chiou
72b73f9f97 servo: Merge #16055 - stylo: Bug 1343153 - Use servo css-parser for ParseEasing (from BorisChiou:stylo/animation/parse_easing); r=emilio
These patches fix [Bug 1343153](https://bugzilla.mozilla.org/show_bug.cgi?id=1343153).

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix Bug 1343153
- [X] These changes do not require tests because gecko has enough test cases for web animations.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5a656cfa54c7c125b309721f587d591d515999c2
2017-03-21 01:36:49 -07:00
Simon Sapin
9da1c75af7 servo: Merge #16053 - Use AtomicRefCell instead of RwLock inside SharedRwLock for stylo (from bholley:shared_lock_atomic_refcell); r=bholley
@SimonSapin wrote the original patch in [1], and I tweaked it to conditionally compile. Just waiting for the try run to come back green before landing.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1348587

Source-Repo: https://github.com/servo/servo
Source-Revision: 32ca5f354030f68934e9c4f90cd5503da8ae16cc
2017-03-20 17:00:31 -07:00
Nazım Can Altınova
e6d10af7dc servo: Merge #16047 - Stylo: Update bindings for ServoType (from canaltinova:eventstate-bindings); r=emilio
This is needed for https://bugzilla.mozilla.org/show_bug.cgi?id=1348873

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

<!-- 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: 315e2dd1611928126e49ad610ccd5a447a4a65cc
2017-03-20 15:17:48 -07:00
Matt Brubeck
2601014868 servo: Merge #16045 - Bug 1348487 - stylo: Don't allow combinators in :-moz-any (from mbrubeck:any); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1348487

Source-Repo: https://github.com/servo/servo
Source-Revision: 17098ddc8ffde03945387f98f52d1856ff1a8cd8
2017-03-20 08:31:25 -07:00
Panashe M. Fundira
fef89b9484 servo: Merge #15918 - PropertyDeclaration with CSSWideKeyword is parsed (from munyari:whitespace); r=emilio
Addresses #15401

Source-Repo: https://github.com/servo/servo
Source-Revision: 4a63581fadd41f9a1901498e47672c59d44b5fb0
2017-03-20 04:23:28 -07:00
Emilio Cobos Álvarez
4ca9c7b464 servo: Merge #16035 - stylo: Sequentialize binding generation if logging is enabled (from emilio:parallel-log-no-fun); r=upsuper
Otherwise the log is useless, and it's even slower than in parallel mode due to
the high lock contention.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9fdebf0934bd4fa97414756b9690a88ae63a991c
2017-03-20 03:43:26 -07:00
Manish Goregaokar
4251772b2a servo: Merge #16016 - Add separate specified value for keyword font sizes (from Manishearth:graft-font-size); r=upsuper
In Gecko, these keywords compute to different values depending on the
font.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 50fd39f068fe5a4a018bb4e7a602f50f10590524
2017-03-20 00:28:46 -07:00
Jeremy Chen
b3c33d07b8 servo: Merge #16036 - Stylo: Add support for text-size-adjust property (from chenpighead:text-size-adjust); r=upsuper
<!-- Please describe your changes on the following line: -->

Gecko supports -{moz,webkit}-text-size-adjust properties, but it only supports auto and none value.
Implement parsing/serialization for text-size-adjust property and its gecko glue.

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

<!-- 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: 103e827948e4c3592ee93cbed8adf270588b559e
2017-03-19 20:56:00 -07:00
Simon Sapin
f1c7cf2486 servo: Merge #16033 - Per-document shared lock for author-origin stylesheets (from servo:per-document-locks); r=emilio
Fix #16027

Source-Repo: https://github.com/servo/servo
Source-Revision: 8d25dcb8b5f83728987171fe7a5b4905df741e58
2017-03-19 18:22:23 -07:00
Simon Sapin
80dfe1b881 servo: Merge #16014 - Per-process lock for CSSOM objects (from servo:style-ref); r=emilio
<!-- Please describe your changes on the following line: -->

Before this PR, every object reflected in CSSOM is in `Arc<RwLock<_>>` to enable safe (synchronized) mutable aliasing. Acquiring all these locks has significant cost during selector matching:

* https://bugzilla.mozilla.org/show_bug.cgi?id=1311469
* https://bugzilla.mozilla.org/show_bug.cgi?id=1335941
* https://bugzilla.mozilla.org/show_bug.cgi?id=1339703

This PR introduce a mechanism to protect many objects with the same `RwLock` that only needs to be acquired once.

In Stylo, there is one such lock per process (in a `lazy_static`), used for everything.

I non-Stylo Servo, I originally intended to have one such lock per document (for author-origin stylesheets, and one per process for user-agent and user sytlesheets since they’re shared across documents, and never mutated anyway). However I failed to have the same document-specific (or pipeline-specific) `Arc` reachable from both `Document` nodes and `LayoutThread`. Recursively following callers lead me to include this `Arc` in `UnprivilegedPipelineContent`, but that needs to be serializable. So there is a second process-wide lock.

This was previously #15998, closed accidentally.

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

<!-- 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: bb54f0a429de0e8b8861f8071b6cf82f73622664
2017-03-19 14:31:19 -07:00
Zach Ploskey
d01ee12ac7 servo: Merge #15604 - serialize font: to empty on non-default subprops (from zploskey:reset_font_shorthand_serialization); r=SimonSapin
Fixes font shorthand serialization so that it serializes to "" when non-default subproperties are defined. These subproperties are those defined in #15033.

Adds tests:
- font_should_serialize_to_empty_if_there_are_nondefault_subproperties
- font_should_serialize_all_available_properties

The second test was previously commented out and underwent some cleanup to make it run.

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: fbd561bc2fc2d5529f805c5ae07c04b3c343bc40
2017-03-19 08:26:43 -07:00
Nazım Can Altınova
326a1ece85 servo: Merge #16028 - Stylo: Add support for -moz-* pseudo-classes for alt text (from canaltinova:pseudos-for-alt); r=Manishearth
<!-- 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 [Bug 1341642](https://bugzilla.mozilla.org/show_bug.cgi?id=1341642)

<!-- Either: -->
- [X] These changes do not require tests because they are stylo changes.

<!-- 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: a2c33ac6e6e18c186e9af45274a7b8499ba1bc4c
2017-03-18 13:45:01 -07:00
George White
9e90e9167c servo: Merge #16024 - Add parsing/serialisation for 'grid-auto-flow' (from Wafflespeanut:gal); r=Wafflespeanut
Didn't want the work (and review comments) in #15364 to go wasted. Fixes #15313

Source-Repo: https://github.com/servo/servo
Source-Revision: e2aecc3ed7c66a49f2baf13c16e56c3fb6c990cd
2017-03-18 11:25:03 -07:00
Emilio Cobos Álvarez
30e6344e65 servo: Merge #16023 - style: Fix some nits (from emilio:nits); r=emilio
I was looking at the code that used Length for #16015, and found these two.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7fcba10614941d2c703c710227ec7367574e892f
2017-03-18 07:24:52 -07:00
Emilio Cobos Álvarez
f0bf9a2e63 servo: Merge #16022 - stylo: Add a build log mechanism (from emilio:stylo-build-log); r=upsuper
This will allow us to debug bindgen problems.

Source-Repo: https://github.com/servo/servo
Source-Revision: aa8b602f9e4b9fb205ec1859a0c733d4713e20bf
2017-03-18 06:45:01 -07:00
Bobby Holley
9cf05de86e servo: Merge #16015 - Box more specified values to bring SpecifiedValue/PropertyDeclaration sizes down to 24/32 bytes (from bholley:box_more_properties); r=Manishearth
I think these properties are generally rare enough that they're not worth adding 8 bytes of memmove overhead on every PropertyDeclaration. There are a _lot_ of 24-byte properties though, so I think that's probably a good sustainable level.

Source-Repo: https://github.com/servo/servo
Source-Revision: ae1a7cc7b8079491c2140d694467113dcc1f44a6
2017-03-17 22:19:51 -07:00
Xidorn Quan
66dba69571 servo: Merge #16006 - Implement -moz-box-ordinal-group property (from upsuper:box-ordinal-group); r=Manishearth
This PR fixes #16000.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8f3f8098c3c7e88dd851531f51e63f84437f9cf4
2017-03-17 15:15:01 -07:00
cku
08bd86f6c5 servo: Merge #16004 - stylo: Update clip-path and transform-box glue (from CJKu:bug-1339674); r=heycam
<!-- Please describe your changes on the following line: -->
Gecko bug1340044 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
- [X] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it changes only the declaration type of mTransformBox

<!-- 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: 0b590aeed73df3c1f1891fbb276010b29a8d7051
2017-03-17 05:53:10 -07:00
Hiroyuki Ikezoe
a26c163d32 servo: Merge #16005 - Compose animation with servo's hashmap (from hiikezoe:animation-compose); r=heycam
<!-- Please describe your changes on the following line: -->
This is a PR for https://bugzilla.mozilla.org/show_bug.cgi?id=1340958

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

<!-- 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: 36234d717f7155d61a631e98f0a435110e1ec161
2017-03-17 03:09:31 -07:00
Simon Sapin
53943a7cc8 servo: Merge #15993 - Remove rust-encoding from geckolib (from servo:utf84eva); r=Manishearth
It wasn’t used, gecko always passes UTF-8 for parsing stylesheets.

Source-Repo: https://github.com/servo/servo
Source-Revision: f53692cd03e19c30a2a6a3e0775798ed50d481e9
2017-03-16 20:07:37 -07:00
Simon Sapin
53dac67f5e servo: Merge #15992 - Rewrite PropertyDeclaration::id to help the optimizer (from servo:id-table); r=bholley
If I’m reading the release-mode assembly correctly, before this change `PropertyDeclaration::id` is implemented with a computed jump:

```assembly
	lea	rcx, [rip + .LJTI117_0]
	movsxd	rax, dword ptr [rcx + 4*rax]
	add	rax, rcx
	jmp	rax
.LBB117_3:
	mov	dword ptr [rdi], 65536
	mov	rax, rdi
	ret
.LBB117_2:
	mov	dword ptr [rdi], 0
	mov	rax, rdi
	ret
.LBB117_4:
	mov	dword ptr [rdi], 131072
	mov	rax, rdi
	ret
.LBB117_6:
	mov	dword ptr [rdi], 262144
	mov	rax, rdi
	ret
.LBB117_7:
	mov	dword ptr [rdi], 327680
	mov	rax, rdi
	ret

; Four similar lines repeated for each of the few hundred variants...
```

With Rust 1.15 (currently used for geckolib) this doesn’t change significantly. In Nightly 1.17 however, the compiled code uses a lookup table, possibly thanks to https://github.com/rust-lang/rust/pull/39456.

```assembly
	movq	(%rsi), %rax
	cmpq	$171, %rax
	jne	.LBB23_1
	addq	$8, %rsi
	movq	%rsi, 8(%rdi)
	movb	$1, %al
	jmp	.LBB23_3
.LBB23_1:
	xorq	$128, %rax
	leaq	.Lswitch.table.6(%rip), %rcx
	movb	(%rax,%rcx), %al
	movb	%al, 1(%rdi)
	xorl	%eax, %eax
.LBB23_3:
	movb	%al, (%rdi)
	movq	%rdi, %rax
	retq
```

Source-Repo: https://github.com/servo/servo
Source-Revision: 9e8e1a47241c6906b4f5777da0d04e3655982fae
2017-03-16 19:13:37 -07:00
Stefano Chiodino
483d8965d7 servo: Merge #15970 - #15842 Add gecko glue for caret-color (from StefanoChiodino:master); r=emilio
<!-- Please describe your changes on the following line: -->
I've mostly followed the description of #15842, but on the last line, where `copy` is mentioned, I'm assuming that `clone` was meant instead. It doesn't run successfully `./mach build-geckolib` because

`/Users/stefano/dev/rust/servo/target/geckolib/debug/build/style-bea86181fb38deda/out/gecko_properties.rs:10990:36
      |
10990 |             self.gecko.mCaretColor.into()
      |                                    ^^^^ the trait
std::convert::From<gecko_bindings::structs::root::mozilla::StyleComplexColor> is not implemented for values::Either<cssparser::Color, values::Auto>`

---
<!-- 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
- [X] These changes fix #15842 (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: b1275591a08bec3888ee843d1f3638f63c5078a0
2017-03-16 16:55:51 -07:00
Matt Brubeck
ffc5796ae9 servo: Merge #15966 - Bug 1340683 - stylo: Implement the :-moz-any pseudo-class (from mbrubeck:any); r=emilio
Adds support for the non-standard [:-moz-any](https://developer.mozilla.org/en-US/docs/Web/CSS/:any) selector.

---

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix https://bugzilla.mozilla.org/show_bug.cgi?id=1340683
- [x] These changes do not require tests because they are gecko-only

Source-Repo: https://github.com/servo/servo
Source-Revision: 0a747e23c6adc1b49c2861bbf7e2969c62dc2c47
2017-03-16 16:19:12 -07:00
Bobby Holley
431ef9a6ff servo: Merge #15997 - Rearrange PropertyDeclaration to avoid embedding DeclaredValue (from bholley:rearrange_propdecl); r=mbrubeck
From https://bugzilla.mozilla.org/show_bug.cgi?id=1347719

This effectively combines the discriminants of the two enums and reduces the
size of PropertyDeclaration by one word.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5d61afd11876fc82e3d3c52ddd8f7aa3e2c3de47
2017-03-16 14:48:53 -07:00
Nazım Can Altınova
6bc8c9a9b9 servo: Merge #15983 - Stylo: Add some missing pseudo classes (from canaltinova:pseudo-classes); r=upsuper
---
<!-- 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 1341739](https://bugzilla.mozilla.org/show_bug.cgi?id=1341739)

<!-- Either: -->
- [X] These changes do not require tests because they are stylo changes.

<!-- 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: 403bfdaaeef567904c7b8d55784fd5db8f60ed8a
2017-03-16 05:21:29 -07:00
Boris Chiou
3efc83b39e servo: Merge #15978 - stylo: Fix shorthand parser for transition none (from BorisChiou:animation/transition_shorthand); r=upsuper
These changes fix [Bug 1347053](https://bugzilla.mozilla.org/show_bug.cgi?id=1347053) if we have the transition shorthand: `transition: none`.

---
- [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 this is for stylo and Gecko side has enough tests.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4dab2b5dbcf6833a7c44b6450062d557b46dc5a6
2017-03-16 02:17:08 -07:00
Manish Goregaokar
dae7fa4c8e servo: Merge #15976 - stylo: Add parsing support for functional non-ts pseudoclasses, add stub -moz-system-metric pseudo (from Manishearth:stylo-stub-system-metric); r=heycam
r=heycam from https://bugzilla.mozilla.org/show_bug.cgi?id=1341086

Source-Repo: https://github.com/servo/servo
Source-Revision: 78c8edfb0a0556b3a579214c42b5bae37f0d73fd
2017-03-16 00:01:19 -07:00
Manish Goregaokar
9a1b6f3231 servo: Merge #15974 - stylo: Support system colors (from Manishearth:stylo-system-colors); r=heycam
r=heycam from https://bugzilla.mozilla.org/show_bug.cgi?id=1340696

Source-Repo: https://github.com/servo/servo
Source-Revision: 261a51a13a4a7742a7362534ae92023dfe38e630
2017-03-15 22:34:19 -07:00
Manish Goregaokar
860fbf886b servo: Merge #15971 - Replace non_ts_pseudo_class_list include hack with higher order macro (from Manishearth:nonts); r=nox
Cleaner, and easier to work with.

We may need to expand the functionality to support integer and string pseudo classes like -moz-system-metric

Source-Repo: https://github.com/servo/servo
Source-Revision: d30978246162e8a9bfad42b43ab6a05c90421c6e
2017-03-15 16:55:43 -07:00
Bobby Holley
966130a4d8 servo: Merge #15953 - Make size_of tests measure stylo and reduce the size of stylo PropertyDeclarations by 16 bytes (from bholley:size_of_stylo); r=Manishearth
Right now they don't, which means that we have four properties making PropertyDeclaration 16 bytes bigger than it should be.

I'm not sure if there's a better way to get these tests to run against stylo than to hoist them into the properties file, but I couldn't figure it out. This seems good enough.

Source-Repo: https://github.com/servo/servo
Source-Revision: f5c67fda04195bd6d8ef10a73b9158eb60dbd6d7
2017-03-15 11:23:24 -07:00
Emilio Cobos Álvarez
f4413e94c8 servo: Merge #15941 - style: Fix media query parsing when invalid queries are present (from emilio:media); r=heycam
Fixes [bug 1347273](https://bugzil.la/1347273).

Source-Repo: https://github.com/servo/servo
Source-Revision: 304cafe57d45921e460ff408ae18138f4eca10df
2017-03-15 09:56:40 -07:00
Xidorn Quan
feae274d32 servo: Merge #15956 - Fix -moz-user-select: tri-state (from upsuper:user-select-tri-state); r=heycam
Source-Repo: https://github.com/servo/servo
Source-Revision: 31d44d3f311af8b7ee9b9b3e9cfcc663466aabdb
2017-03-15 06:37:18 -07:00
Xidorn Quan
923f03a2aa servo: Merge #15961 - Implement access to CSSNamespaceRule for stylo (from upsuper:bug1345698); r=heycam
This is the Servo side changes of [bug 1345698](https://bugzilla.mozilla.org/show_bug.cgi?id=1345698).

Source-Repo: https://github.com/servo/servo
Source-Revision: 9986b42333a7438c02debd7fe8395a5c146a58df
2017-03-15 03:58:06 -07:00
Xidorn Quan
a1540d5ea4 servo: Merge #15949 - Don't serialize url() twice (from upsuper:filter-url); r=heycam
Source-Repo: https://github.com/servo/servo
Source-Revision: 6a2a5be7641dbda2391f4fff7c102f0176899562
2017-03-14 21:43:41 -07:00
Abhishek Kumar
32b5ad6ecd servo: Merge #15598 - text-overflow accepts only valid values for the second part of value (from abhiQmar:master); r=canaltinova
… value #15491

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

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

<!-- 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: de421216ad51d036ceea433fb86a58fbf9e79656
2017-03-14 16:03:27 -07:00