Commit graph

3667 commits

Author SHA1 Message Date
Boris Chiou
4f0791a94b Bug 1317209 - Part 1: Implement uncompute FFI. r=manishearth 2017-01-24 15:47:35 +08:00
Emilio Cobos Álvarez
f00b628c3a
style: Expose the traversal kind to the style system.
This way we'll be able to take different paths for the sequential and parallel
traversals in some concrete cases.

This is a preliminar patch to fix bug 1332525.
2017-01-24 08:41:29 +01:00
Emilio Cobos Álvarez
d29fade4c2
Bug 1332969: stylo: Synchronously do a style update when the device changes.
Ideally this would be lazy, but eventually we're going to need to restyle in
RebuildAllStyleData anyway, which would require us to have the style up to date,
so no need to complicate our lives.

MozReview-Commit-ID: AlmUGRCNm2z
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-23 18:55:45 +01:00
Sam
7e4255eb95 Implement home end key scroll. 2017-01-23 13:38:10 +00:00
Boris Chiou
9360beb03c Update selectors to 0.15.1
selectors 0.15.1 supports AFFECTED_BY_ANIMATIONS and
AFFECTED_BY_TRANSITIONS, which are used by stylo animations.
2017-01-23 14:51:10 +08:00
bors-servo
eade32ed16 Auto merge of #15099 - servo:phf-no-macros, r=jdm
Remove usage of phf_macros.

It’s a compiler plugin that uses unstable compiler APIs that are not on a path to stabilization.

With this changes, there is one less thing that might break when we update the compiler. For example: https://github.com/sfackler/rust-phf/pull/101

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

<!-- 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/15099)
<!-- Reviewable:end -->
2017-01-20 08:59:26 -08:00
bors-servo
5e888b5504 Auto merge of #15089 - Manishearth:less-vec, r=SimonSapin
Reduce allocator churn when parsing property declaration blocks

fixes #15060

cc @emilio

r? @SimonSapin

<!-- 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/15089)
<!-- Reviewable:end -->
2017-01-18 17:41:05 -08:00
Manish Goregaokar
b5cb401aef Reduce allocator churn when parsing property declaration blocks (fixes #15060) 2017-01-18 16:31:46 -08:00
Simon Sapin
71fb02953c Remove usage of phf_macros.
It’s a compiler plugin that uses unstable compiler APIs
that are not on a path to stabilization.

With this changes, there is one less thing that might break
when we update the compiler. For example:
https://github.com/sfackler/rust-phf/pull/101
2017-01-18 17:25:59 +01: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
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
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
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
bors-servo
ad1b11771b Auto merge of #14995 - servo:codegen-units, r=mbrubeck
Enable codegen-units=4 in debug mode

We previously had this and removed it because it caused runtime slowdowns
(discussion in #11102), but that was in release mode.

Debug mode is already very slow at runtime.
In my opinion, debug mode is mostly for the edit-compile-test cycle
which is currently dominated by compile times, so sacrificing runtime for compile time makes sense.

I’ve observed a ~30% improvement of compile times with this. This figure is consistent between a very fast desktop with 4 cores / 8 threads and a not-as-fast laptop with 2 cores / 4 threads.

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

<!-- 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/14995)
<!-- Reviewable:end -->
2017-01-15 13:23:55 -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
Bobby Holley
22ae06258a Bug 1329854 - Don't lazily instantiate element data for unstyled elements when taking snapshots and noting explicit hints. r=heycam 2017-01-12 17:39:54 -08:00
Simon Sapin
a6a1d8382a Enable codegen-units=4 in debug mode
We previously had this and removed it because it caused runtime slowdowns
(discussion in #11102), but that was in release mode.

Debug mode is already very slow at runtime.
In my opinion, debug mode is mostly for the edit-compile-test cycle
which is currently dominated by compile times,
so sacrificing runtime for compile time makes sense.

I’ve observed a ~30% improvement of compile times with this.
This figure is consistent between a very fast desktop with 4 cores / 8 threads
and a not-as-fast laptop with 2 cores / 4 threads.
2017-01-13 00:24:33 +01:00
Manish Goregaokar
d87b710fdd stylo: Store servo computed values for animation properties
MozReview-Commit-ID: IoQLN5tdIBw
2017-01-11 15:24:53 -08:00
Ms2ger
7879edb451 Move DevicePixel to script_traits. 2017-01-11 15:27:14 +01:00
Bobby Holley
3fcfc9c5fc Bug 1325734 - Simplify ElementData and eliminate the concept of consuming styles. r=emilio 2017-01-09 11:51:37 -08:00
Cameron McCormack
3e0e2bcd2c Don't inherit all properties for pre-computed pseudos if there are no matching rules. 2017-01-09 17:55:40 +08:00
bors-servo
f838944332 Auto merge of #14866 - mbrubeck:stylo-env-logger, r=bholley
Stylo: Disable regex feature of env_logger

To reduce binary size.  See [bug 1328497](https://bugzilla.mozilla.org/show_bug.cgi?id=1328497) for details.  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/14866)
<!-- Reviewable:end -->
2017-01-05 15:54:10 -08:00
Matt Brubeck
0781587a17 Stylo: Disable regex feature of env_logger 2017-01-05 11:53:46 -08:00
Boris Zbarsky
8e2acee24e Bug 1298588 part 14. Remove ComputedValues::initial_values for stylo. r=bholley 2017-01-04 23:13:53 -05:00
Boris Zbarsky
369fdddcd9 Bug 1298588 part 13. Make sure Device has a ComputedValues for stylo. r=bholley 2017-01-04 23:13:52 -05:00
Boris Zbarsky
c826b18f87 Bug 1298588 part 10, servo piece. Pass through useful default styles to apply_declarations(). r=bholley 2017-01-04 23:13:48 -05:00
Boris Zbarsky
61f6025dc3 Bug 1298588 part 9, servo piece. Pass through useful default styles to cascade(). r=bholley 2017-01-04 23:13:46 -05:00
Boris Zbarsky
d3e34db508 Bug 1298588 part 7, servo piece. Stop using initial_values in general in Gecko glue code. r=bholley 2017-01-04 23:13:43 -05:00
Boris Zbarsky
c313c8d17e Bug 1298588 part 6, servo piece. Stop using initial_values when doing inheritance in Gecko glue code. r=bholley 2017-01-04 23:13:42 -05:00
Boris Zbarsky
56941d61a7 Bug 1298588 part 5. Store a ComputedValues on SharedStyleContext. r=bholley 2017-01-04 23:13:40 -05:00
Boris Zbarsky
a5ac55c8ff Bug 1298588 part 4, servo piece. Recreate the default computed values for a document as needed. r=bholley 2017-01-04 23:13:39 -05:00
Boris Zbarsky
8908743719 Bug 1298588 part 2, servo piece. Pass through an nsPresContext to the PerDocumentStyleData constructor. r=bholley 2017-01-04 14:42:15 -05:00
Bobby Holley
b9d99390ad Switch to crates.io for atomic_refcell. 2017-01-03 18:14:27 -08:00
bors-servo
d967d89fc0 Auto merge of #14796 - jlevesy:jl-match-to-if-let, r=Wafflespeanut
replace match by if let statements if possible

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

This PR replaces `match` statements by `if let` when possible.

Thanks for reviewing

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because this PR is a code cleanup patch.

<!-- 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/14796)
<!-- Reviewable:end -->
2016-12-31 21:28:41 -08:00
Julien Levesy
b78979d692 replace match by if let statements if possible 2016-12-31 12:34:05 +01:00
Emilio Cobos Álvarez
df9da705f5
Bug 1304792: Use borrowed types for ServoImportRule. r=Manishearth r=heycam
MozReview-Commit-ID: HKjsOaE2qAp
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2016-12-30 13:00:51 +01:00
Emilio Cobos Álvarez
a5f5e48c68
Bug 1304792: stylo: Implement @import. r=heycam
MozReview-Commit-ID: Hw1V66JxIBD
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2016-12-30 13:00:44 +01:00
Bobby Holley
ab71b29959 style: Add a special, explicit path for lazy style resolution and use it for GetComputedStyle.
MozReview-Commit-ID: KAM9mVoxCHE
2016-12-28 11:52:46 +08:00
bors-servo
42ec8a8974 Auto merge of #14731 - heycam:flushing_and_pseudos, r=heycam
stylo: Coordinate stylist flushing with gecko, and clean up pseudo-element resolution
2016-12-25 18:13:30 -08:00
Bobby Holley
cda445cba5 Bug 1325728 - Simplify pseudo-element handling. r=heycam 2016-12-26 10:09:09 +08:00
Emilio Cobos Álvarez
f10e3765b1
glutin: Simplify set_nested_event_loop_listener. 2016-12-25 19:18:36 +01:00
Bobby Holley
3ada6cf68f Bug 1325728 - Use Gecko's existing mechanism to coordinate flushing the Stylist. r=heycam 2016-12-23 17:58:06 -08:00
Bobby Holley
940cda1d15 Remove generation, remove filter pop, and add size tests. 2016-12-22 11:09:55 -08:00
Bobby Holley
946e7fb7c3 Stop using UnsafeNode in the StyleSharingCandidateCache. 2016-12-21 11:10:41 -08:00
Bobby Holley
c5f01fe3b8 Introduce and use Scoped TLS.
It turns out that it's problematic to embed ThreadLocalStyleContext within
LayoutContext, because parameterizing the former on TElement (which we do
in the next patch) infects all the traversal stuff with the trait parameters,
which we don't really want.

In general, it probably makes sense to use separate scoped TLS types for
the separate DOM and Flow tree passes, so we can add a different ScopedTLS
type for the Flow pass if we ever need it.

We also reorder the |scope| and |shared| parameters in parallel.rs, because
it aligns more with the order in style/parallel.rs. I did this when I was
adding a TLS parameter to all these functions, which I realized we don't need
for now.
2016-12-21 11:10:39 -08:00
Simon Sapin
17a183808e Remove usage of unstable rustc_unicode crate. 2016-12-20 07:07:04 +01:00
Lars Bergstrom
cba3881a12 Revert "Update Rust to 1.15.0-nightly (8f02c429a 2016-12-15)."
This reverts commit 5618e79768.
2016-12-19 08:29:06 -06:00
bors-servo
077a54de19 Auto merge of #14481 - servo:rustup, r=Ms2ger
Update Rust to 1.15.0-nightly (8f02c429a 2016-12-15).

<!-- 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/14481)
<!-- Reviewable:end -->
2016-12-19 03:58:56 -08:00
Ms2ger
5618e79768 Update Rust to 1.15.0-nightly (8f02c429a 2016-12-15). 2016-12-19 12:58:11 +01:00