Commit Graph

978 Commits

Author SHA1 Message Date
Manish Goregaokar
b12480e8c5 servo: Merge #18750 - Make transforms generic (from Manishearth:transform-generic); r=emilio,xidorn
This makes the specified and computed value of transform share a generic
backing enum.

This will eventually be a complete fix for
https://bugzilla.mozilla.org/show_bug.cgi?id=1391145 , and also
incidentally fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1405881

Currently WIP -- the generic transform exists and is used, but this
currently misses some animation and glue cases.

Source-Repo: https://github.com/servo/servo
Source-Revision: c494d25e24d515509a5d8bb86a30669ee01742b9

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 83a87a9b3d9271cfcf20745f66ef43ab4b8d4d12
2017-11-02 17:02:07 -05:00
ddh
7990325140 servo: Merge #19077 - changed f64 to u64 for navigation start timing until it had to be float (from avadacatavra:floats-are-the-actual-worst); r=jdm
<!-- 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 #18997 (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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: fa319170ebb34afcdfc120b7c3e47fe5b1c21210

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2a5d1cd283156c691e475d88bda21d4fdb6392b2
2017-11-01 16:56:06 -05:00
Bastien Orivel
b5ec6408a9 servo: Merge #18967 - Bump bitflags to 1.0 (from Eijebong:bitflags2.0); r=mbrubeck
See #18809

Still haven't had time to test it but it should fix the tests failures that appeared in m-c

Source-Repo: https://github.com/servo/servo
Source-Revision: fe4139b779b3af749ec1426ddf4e1393c7b85442

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9a0549d7dd8a99315ba3f8eec5d0f9fdf9eb4c0f
2017-10-30 18:25:45 -05:00
ddh
c27487d718 servo: Merge #18670 - added time to interactive metrics (from avadacatavra:interactive-metrics); r=jdm
<!-- Please describe your changes on the following line: -->

Added time to interactive metrics and refactored metrics/lib

I need to write tests, but wanted to submit the PR for review

---
<!-- 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
- [ ] These changes fix #__ (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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: e438b094f675469b8bdbb1ab4ff84c374fc399d4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bac1798200377932a85607154d5baa4f451b30e6
2017-10-25 15:53:57 -05:00
Keith Yeung
39f9d6ab41 servo: Merge #18981 - Merge request type and destination (from KiChjang:fold-type-destination); r=avadacatavra
Fixes #18278.

Source-Repo: https://github.com/servo/servo
Source-Revision: dcd7d2fa32aa53628a9be63a2d0ea64796cd968e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : fe27e3095659b41b38bd08b74966c507666bbe5d
2017-10-24 17:02:18 -05:00
Emilio Cobos Álvarez
e99ba89767 servo: Merge #19005 - style: Move animation-name and animation-iteration-count outside of mako (from emilio:less-mako-more-joy); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: f9f71c7ed105dfb415c38bf6826942cb757b1bcc

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1f9146e65d1008b711268470d78b1683994ea5dd
2017-10-24 15:29:21 -05:00
Simon Sapin
99aca456f1 servo: Merge #19003 - Make test-stylo compile an empty crate on Windows without Gecko (from servo:stylo_tests_windows); r=emilio
That is, in cases where it would fail to link.

This will help make Rust CI be gated on compiling Stylo: https://github.com/rust-lang/rust/pull/44603

Source-Repo: https://github.com/servo/servo
Source-Revision: 38fe9533b93e985657f99a29772bf3d3c8694822

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3a2413e03efb4754cf657f4637a3543fbc13074a
2017-10-24 13:32:39 -05:00
Martin Robinson
8a53b5bc4a servo: Merge #18951 - Wait as late as possible to assign ClipIds (from mrobinson:later-id-assignment-for-clip-scroll-nodes); r=glennw,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 they should not change behavior.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: f26aa3b016beb5717d8a53477c162dd832b24d7e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : afcd2a0b7b9b5d21776cb7fcc775f9046f8b94e9
2017-10-24 09:46:08 -05:00
Nikhil Shagrithaya
751695e701 servo: Merge #18946 - Update h5e version (from cynicaldevil:update-h5e); r=nox
<!-- 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: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./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 _____

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 91077ee4185b4917f5f67bf7ebe7ea03ca3e7241

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 8086d3b411e9c203784fd3f8b210079d3a251a3d
2017-10-20 08:49:09 -05:00
Sebastian Hengst
bfad5a393e Backed out changeset e64e659c077d: servo PR #18809 and revendor for reftest failures, e.g. in layout/reftests/bugs/392435-1.html. r=backout on a CLOSED TREE
--HG--
extra : amend_source : c80f31aec994c03e9ada2840b097efb3f894014e
2017-10-19 23:23:30 +02:00
Bastien Orivel
6c1dbf46fe servo: Merge #18809 - Update bitflags to 1.0 in every servo crate (from Eijebong:bitflags); r=nox
It still needs dependencies update to remove all the other bitflags
versions.

- [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 a dependency update

Source-Repo: https://github.com/servo/servo
Source-Revision: fe16c1d5c3c9084da0ccb85af599d6ec0f8ab20b

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bb9d52a22bee6d1fe773718f649c977b07840719
2017-10-19 10:35:08 -05:00
Simon Sapin
c97a708440 servo: Merge #18944 - Stop relying on linking details of std’s default allocator (from servo:jemallocator2); r=nox
We’ve been bitten before by symbol names changing: https://github.com/servo/heapsize/pull/46, and upstream is planning to stop using jemalloc by default: https://github.com/rust-lang/rust/issues/33082#issuecomment-309781465

So use the (relatively) new `#[global_allocator]` attribute to explicitly select the system allocator on Windows and jemalloc (now in an external crate) on other platforms. This choice matches current defaults.

Source-Repo: https://github.com/servo/servo
Source-Revision: 07e9794306d597afe5d90d192fd32a99572c3cc3

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c773f809c4f783e63c42218220e7c8c190727e6e
2017-10-19 09:15:17 -05:00
Nicholas Nethercote
5a62942911 servo: Merge #18938 - Replace all uses of the heapsize crate with malloc_size_of (from nnethercote:bug-1409255); r=SimonSapin
Servo currently uses `heapsize`, but Stylo/Gecko use `malloc_size_of`.
`malloc_size_of` is better -- it handles various cases that `heapsize` does not
-- so this patch changes Servo to use `malloc_size_of`.

This patch makes the following changes to the `malloc_size_of` crate.

- Adds `MallocSizeOf` trait implementations for numerous types, some built-in
  (e.g. `VecDeque`), some external and Servo-only (e.g. `string_cache`).

- Makes `enclosing_size_of_op` optional, because vanilla jemalloc doesn't
  support that operation.

- For `HashSet`/`HashMap`, falls back to a computed estimate when
  `enclosing_size_of_op` isn't available.

- Adds an extern "C" `malloc_size_of` function that does the actual heap
  measurement; this is based on the same functions from the `heapsize` crate.

This patch makes the following changes elsewhere.

- Converts all the uses of `heapsize` to instead use `malloc_size_of`.

- Disables the "heapsize"/"heap_size" feature for the external crates that
  provide it.

- Removes the `HeapSizeOf` implementation from `hashglobe`.

- Adds `ignore` annotations to a few `Rc`/`Arc`, because `malloc_size_of`
  doesn't derive those types, unlike `heapsize`.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because testing is on the Gecko side.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 4c538b642e4bdfbf42c522c5a59c258a6d14546e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f9a6feed1088d0b0be2b55d7f0c2ec9c594ac33b
2017-10-18 13:56:05 -05:00
Simon Sapin
84f6addcca servo: Merge #18875 - Remove the need for rust-mozjs to use unstable Rust features (from servo:stable-js); r=nox,jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e8a6f2862c2a6084e4f4e64ab466c89ae83cff59

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0a4afe555c08aa8749c361669f9385fd65f10f4a
2017-10-16 17:07:50 -05:00
Glenn Watson
a099f50bcc servo: Merge #18890 - Update WR (details below): (from glennw:update-wr-clip-text-aa); r=jdm
* Add support for clip masks on text runs.
* Fix atomic ordering of items with multiple shadows.
* Update to bincode + ipc-channel with optimizations.
* Fix some plane splitting precision errors.
* Improve the anti-aliasing quality significantly.
* Add internal ClipChain support.
* Fix diacritic glyphs on Linux.

Source-Repo: https://github.com/servo/servo
Source-Revision: d3d2b0261a8aacd4f74e330f8c007a91f829a96e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7e4b2cb3c1826baf96fbd87667ed36f872c8e282
2017-10-16 12:54:02 -05:00
Emilio Cobos Álvarez
1f743b9139 servo: Merge #18867 - style: Dishonor display: -moz-box if -webkit-box was specified before (from emilio:parse-hack); r=heycam
This is a compatibility hack that Gecko supports that is apparently important for android.

I want to remove it, but let's see...

See https://bugzilla.mozilla.org/show_bug.cgi?id=1407701 for reference.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2be76c5fd7b74f334f8ce975e2051c77762314c2

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a9655cb7c02405fe565dc4db79bdefc4697f6bc5
2017-10-14 05:27:51 -05:00
Cameron McCormack
26a8c96f55 servo: Merge #18873 - style: Remove Servo_GetStyleVariables test special case (from heycam:rm-gsv-check); r=emilio
This function disappeared a while ago.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8b366a7441a7a4febcb5e2047807f9ad447c7adb

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3c5cf3bc77c2a247809da5ba0b89c15a485f40a3
2017-10-14 03:57:03 -05:00
Simon Sapin
96ab77b884 servo: Merge #18870 - Use pointer casts instead of tramsutes to raw::TraitObject (from servo:cast); r=KiChjang
Casting `*const T` to `*const U` with `U: Sized` is allowed even if `T: ?Sized`. This safely extracts the data pointer out of a trait object, without relying on the memory representation of trait objects.

Source-Repo: https://github.com/servo/servo
Source-Revision: 86a5135ffaa60d4743b6f6950fc395c2615e85ba

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f9537801cc60eb748264f777462090141fe51307
2017-10-13 21:43:09 -05:00
Simon Sapin
19637cf3a3 servo: Merge #18854 - Make optional the usage of some unstable features (from servo:servo-unstable-feature); r=nox
With `--no-default-features --features default-except-unstable`, more crates can now be compiled on stable Rust. This will help integrate them in rustc’s regression testing and compiler performance benchmarking.

Source-Repo: https://github.com/servo/servo
Source-Revision: 78aaa85aec8184d0a2d70006c45034d7c2ec561a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3490c14736cf026c4bd910423786ec46bbccfc5f
2017-10-13 12:26:39 -05:00
Simon Sapin
4f4b90db1f servo: Merge #18808 - Use the current parser location for CSS error (from servo:error-location_); r=emilio
… rather than the start location of the current construct. This likely places the error just *after* of the unexpected token whereas before would be best, but that’s likely a much bigger change.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: c79a54dbd9d3a590f5fd8191b8e57a0b9d1d0fdb

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7a78da26aa9801972da42123730f90bcddc92930
2017-10-10 12:31:24 -05:00
Jyotsna Prakash
f83c955811 servo: Merge #18747 - Serializing childrenonly (from jdm:serializing-childrenonly); r=jdm
Rebased from #17896.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #14975 (github issue number if applicable).
- [x] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: e3624e62a4b247d7af5e783fcd4205d2914b6aab

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a9cb84a19be11be5d2a4077d450a4f04deb24b67
2017-10-09 11:12:53 -05:00
Emilio Cobos Álvarez
49ddbca093 servo: Merge #18783 - style: Introduce CustomPropertiesBuilder (from emilio:custom-props-builder); r=SimonSapin
I'm about to introduce more state here to implement optimizations for custom
property cascading, so this abstraction is useful to encapsulate that state.

Source-Repo: https://github.com/servo/servo
Source-Revision: 55a37930b218713fff4ba84b4fa1e43a0455e498

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 836b42e1e79da3ddb1f695622c4b23920fd90c22
2017-10-08 09:50:04 -05:00
Emilio Cobos Álvarez
c0ee13bc8b servo: Merge #18781 - style: Add a simple custom properties benchmark (from emilio:custom-props-bench); r=heycam
This is going to help the work in bug 1405411.

Source-Repo: https://github.com/servo/servo
Source-Revision: 47efcd5e52afd62dcd84ba350948039f67613e20

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3194de3a0a9c123f0a507e4d2f6e01abd89b3d69
2017-10-08 06:04:28 -05:00
Xidorn Quan
cb1db82909 servo: Merge #18753 - Only generate structs file for the current build (from upsuper:binding-structs); r=emilio
This PR changes build_gecko.rs to only generate the `structs.rs` for the current build (rather than both), depending on whether `gecko_debug` feature is set.

The in-tree files are switched to use the previous release one, because that's what we currently use for stylo test and it is in general what we really care about. For this change, `gecko_debug` mode is removed from Servo CI (in `build-geckolib`) with the assumption that people general do that build locally for stylo development, so it is less likely to be broken than release.

Source-Repo: https://github.com/servo/servo
Source-Revision: f2879a568d34ecc8d42de55569813d8a851e904f

--HG--
rename : servo/components/style/gecko/generated/structs_release.rs => servo/components/style/gecko/generated/structs.rs
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d06ba7f9e4d7dfc0b4c688531baa9445a6d4e863
2017-10-05 11:24:22 -05:00
Neha
8bcf96f172 servo: Merge #18716 - Parse srcset attribute values (from jdm:parseSrcset); r=jdm
Squashed version of #18313.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix (partially) #11416
- [x] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 1f9182507f1a671dc2f1f9425b19cf1becd88c73

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ecc0df39261a403447a39840e119ba1ffc68f39f
2017-10-04 07:32:53 -05:00
Bobby Holley
ff4aa007bc servo: Merge #18732 - Revert #18668 - Add mprotect diagnostics for HashMap crash (except for round-up-to-page behavior) (from bholley:revert_mprotect_diagnostics); r=bholley
These diagnostics have served their purpose, time to remove them.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 0b69887387567d1bbaa93fe874014a925ef9fe05

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 048d7a45ecf6d963209a252d4dbde30a5e890489
2017-10-03 14:45:33 -05:00
Rakhi Sharma
36fffc11d1 servo: Merge #18714 - Parse sizes attribute values (from jdm:sizes); r=jdm
Squashed version of #17808.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix (partially) #11416
- [x] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 77afc3f33a72627fd4d6e83485722f3b38ae8420

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e4c391a022878d9d8032343ca5ffc6d1ea417dd4
2017-10-03 04:16:00 -05:00
Emilio Cobos Álvarez
8562ff5fe6 servo: Merge #18604 - style: Cleanup the animated value setup (from emilio:animated-value-cleanup); r=nox
We have three different enums to represent slightly different things. Reuse them
properly, and kill some code in the animated_properties module while at it.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9ffd2b8c9e2b897f12daa5eac48a76a0c10c60c9

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : dd97b322e75cdcdf26f991e11da85056aad56cc6
2017-09-29 10:01:52 -05:00
Bobby Holley
32026a5fa7 servo: Merge #18668 - Add mprotect diagnostics for HashMap crash (from bholley:mprotect_diagnostics); r=Manishearth
https://bugzilla.mozilla.org/show_bug.cgi?id=1403397

Source-Repo: https://github.com/servo/servo
Source-Revision: 5d2ac4aa2e746daf312198278369686627360895

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5f5fa574e740c8e60766c5c1220d3955dbef05ea
2017-09-28 19:10:46 -05:00
Hiroyuki Ikezoe
5a21ed8bf3 servo: Merge #18650 - Handle custom properties in keyframes (from hiikezoe:custom-properties-in-keyframes); r=<try>
<!-- Please describe your changes on the following line: -->
https://bugzilla.mozilla.org/show_bug.cgi?id=1402219

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 92eb88277f23d7358125e6d7462f9039e6242746

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bb5bd1280858321aaf97d83cd54578feb8238ae9
2017-09-27 04:35:00 -05:00
Manish Goregaokar
78e3a25f72 servo: Merge #18607 - stylo: Move font computation data into nsStyleFont and computed value of font-size (from Manishearth:stylo-font-nsstylefont); r=emilio
r=emilio https://bugzilla.mozilla.org/show_bug.cgi?id=1399228

Source-Repo: https://github.com/servo/servo
Source-Revision: 3db1776326619be91db4ae15005b52eefc289e8a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 26a368e1878b165a04d4455592bdf601ee7f644d
2017-09-23 13:26:02 -05:00
Alan Jeffrey
40013dcfb4 servo: Merge #18523 - Make pipeline ids non-zero so that optional ids take no extra space (from asajeffrey:pipeline-id-nonzero); r=mbrubeck
<!-- Please describe your changes on the following line: -->

Use the NonZero trait to reduce space usage of `Option<PipelineId>`.

This needs a bump of serde to get https://github.com/serde-rs/serde/pull/1003.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 7256a05d74596269ca50dd42888b790016ff25af

--HG--
rename : servo/tests/unit/layout/lib.rs => servo/tests/unit/msg/lib.rs
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6f4bbc1cbabc26a3eec40379e34b99b4521b314d
2017-09-18 15:50:57 -05:00
Emilio Cobos Álvarez
0ecfa025ee servo: Merge #18525 - style: various serialization fixes (from emilio:border-spacing); r=nox
This should close https://github.com/servo/servo/pull/18458, and fix https://bugzilla.mozilla.org/show_bug.cgi?id=1397619.

Source-Repo: https://github.com/servo/servo
Source-Revision: f95da332a388cc7a94ddfc363872f5c570c27885

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c613453a0f82cde6e26f1366cbae26aa3cf4fc31
2017-09-17 15:12:46 -05:00
Tom Tromey
6471570ecb servo: Merge #18512 - Preserve sourceURL comment on style sheets (from tromey:preserve-style-sheet-source-url); r=SimonSapin
In addition to the sourceMappingURL comment, there is a second special
comment, "sourceURL", that can be used to set the "display name" of a
style sheet for developer tools.  This name is also used as the base
URL for the source-map URL resolution algorithm.  sourceURL is
described here:
https://blog.getfirebug.com/2009/08/11/give-your-eval-a-name-with-sourceurl/
The devtools feature bug is here:
https://bugzilla.mozilla.org/show_bug.cgi?id=880831

This patch changes servo to preserve and expose this value for use in M-C.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 7cc0af37cfcd03b0615a408428b53d221e493570

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 02e2fccecf6516604bad0c61f5f91126c40b6f5e
extra : histedit_source : 15404491f9f20e74312b8f2f1d64a3da19ffb1b3
2017-09-15 12:44:03 -07:00
Emilio Cobos Álvarez
cc8a228ea1 servo: Merge #18502 - style: Unify how servo and Gecko handle UA sheets (from emilio:ua-sheets-unify); r=simonsapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 75e126f139197c447686242082d9e7f61ba92c3f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 849a1ec32e68ff28dea5a5db16c51424c790550e
2017-09-14 15:55:21 -05:00
Josh Matthews
8adc15e7ee servo: Merge #18352 - Make serialization match Gecko in a few corner cases (from jdm:serialize-fun); r=emilio
This addresses the testcases from https://bugzilla.mozilla.org/show_bug.cgi?id=1345218. Gecko differs from the specification by doing the following:
* reusing longhands that have previously been serialized in order to serialize shorthands
* immediately breaking out of the shorthand loop for the current property as soon as a shorthand is successfully serialized

https://github.com/w3c/csswg-drafts/issues/1774 is filed to track ways that the standard could be made more clear on these points.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [bug 1345218](https://bugzilla.mozilla.org/show_bug.cgi?id=1345218).
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: e50341d4a91beded42bdcdf37bfb8a7e53070234

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7a6a5916d6c5fb63f277ceaad62cf83fe03d9705
2017-09-13 10:51:00 -05:00
Boris Chiou
31764d7b79 servo: Merge #18381 - stylo: Bug 1392161 - Introduce CSSPixelLength as computed::Length (from BorisChiou:stylo/transform/rounding); r=<try>
These are the inter-dependent patches of bug 1392161. We want to handle
extreme small lengths carefully for some properties, such as transform, so we
shouldn't use |Au| as the computed value of specified::Length. Now, we introduce
a new type, CSSPixelLength, which is a wrapper of CSSFloat, and it is the
computed value of specified::Length, so we can keep the fractional part
of computed::Length.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1392161](https://bugzilla.mozilla.org/show_bug.cgi?id=1392161).
- [X] These changes do not require tests because there is a wpt test for this, and I also add some others in Gecko.

Source-Repo: https://github.com/servo/servo
Source-Revision: ac1b49b1987d37b3c1ba67213b43c6d5fc373579

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : db63003d73f1e08f0f9d3a95ddd94f6b46497d6a
2017-09-13 05:20:20 -05:00
Bobby Holley
dd927d1f81 servo: Merge #18465 - Eliminate RestyleData (from bholley:kill_restyledata); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1399011

Source-Repo: https://github.com/servo/servo
Source-Revision: 72f0fda836ff97d33169cd1fc0d23d2d07ad74c6

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 58ef9c5edac56e311c7067427c63cb7a6d2fe830
2017-09-12 13:16:26 -05:00
Tom Tromey
eb5a0d0bde servo: Merge #18449 - Remove get_location_with_offset (from tromey:remove-get_location_with_offset); r=jdm
Now that rust-cssparser reports 1-based locations, bump the required
cssparser version and remove get_location_with_offset.  Previously,
some code paths were not calling get_location_with_offset; see
https://bugzilla.mozilla.org/show_bug.cgi?id=1398869 for some
background.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because tests are in rust-cssparser and/or M-C

Source-Repo: https://github.com/servo/servo
Source-Revision: 7746896bc4cf5a2a6dc78c00f643e4cff8e49da4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 919aeee03abfd07cd5dbcc9d478dd98cc76f054e
2017-09-12 09:44:53 -05:00
Bobby Holley
00681c0e88 servo: Merge #18453 - Refactor the style cache (from bholley:style_cache_refactor); r=emilio
This is the first set of patches from https://bugzilla.mozilla.org/show_bug.cgi?id=1398658

Source-Repo: https://github.com/servo/servo
Source-Revision: def983c29566133ab02ed40b9ab8c5e99da8e53e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1f176a42fb43f1e36a3d8ac0c8a8fd07db4b878e
2017-09-12 03:25:36 -05:00
Nicholas Nethercote
43983aa52e servo: Merge #18452 - Overhaul MallocSizeOf and related things (from nnethercote:bug-1398737); r=jdm
This patch makes the MallocSizeOf stuff in Stylo work more like the HeapSizeOf
stuff already in Servo, except better. In particular, it adds deriving support
for MallocSizeOf, which will make it easier to improve coverage.

The patch does the following.

- Combines servo/components/style/stylesheets/memory.rs and the heapsize crate
  into a new crate, malloc_size_of.

- Forks the heapsize_derive crate, calling it malloc_size_of, so that
  MallocSizeOf can be derived.

- Both the new crates have MIT/Apache licenses, like heapsize, in case they are
  incorporated into heapsize in the future.

- Renames the methods within MallocSizeOf and the related traits so they are
  more concise.

- Removes MallocSizeOfWithGuard.

- Adds `derive(MallocSizeOf)` to a lot of types, in some cases replacing an
  equivalent or almost-equivalent hand-written implementation.

- Adds stuff so that Rc/Arc can be handled properly.

<!-- 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 tested on Gecko side.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 7f4cb1861b172423781a369b2decca6c65d60546

--HG--
rename : servo/components/hashglobe/LICENSE-APACHE => servo/components/malloc_size_of/LICENSE-APACHE
rename : servo/components/hashglobe/LICENSE-MIT => servo/components/malloc_size_of/LICENSE-MIT
rename : servo/components/jstraceable_derive/Cargo.toml => servo/components/malloc_size_of_derive/Cargo.toml
rename : servo/components/hashglobe/LICENSE-APACHE => servo/components/malloc_size_of_derive/LICENSE-APACHE
rename : servo/components/hashglobe/LICENSE-MIT => servo/components/malloc_size_of_derive/LICENSE-MIT
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a8254c4ae15901b764d918355e900a1e74d6eb03
2017-09-11 22:11:25 -05:00
Boris Zbarsky
150ec2228f servo: Merge #18446 - Update rust-cssparser to 0.20.2 (from bzbarsky:update-cssparser); r=SimonSapin
This reduces memory consumption of list-valued properties in the common case of one entry in the list.

<!-- 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: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./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 _____

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 3cad8d4662610ea8a0ab3b49d94fd1716963481e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d0cef41bae3f552b7f2d22efa13d267bece9b13d
2017-09-11 10:33:24 -05:00
Emilio Cobos Álvarez
1a0185ad38 servo: Merge #18434 - Bug 1395064 - stylo: Add uses of fallible Vec, SmallVec and HashMap f… (from julian-seward1:master); r=bholley
…acilities.  r=emilio@crisal.io.

<!-- 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: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./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 _____

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

Source-Repo: https://github.com/servo/servo
Source-Revision: be804a8155b0a942324f564df569233d13c97dcd

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b0279b7e9545549faa5975eae219c30085005d8d
2017-09-10 12:30:39 -05:00
Boris Zbarsky
dbd10872c5 servo: Merge #18430 - Shrink the storage needed by specified background images (from bzbarsky:shrink-background-storage); r=xidorn
<!-- Please describe your changes on the following line: -->
This makes a specified background image take 48 bytes instead of 1024 bytes.

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: c8530409f8dd2670a6d7bb3f55b96fe1b79168ee

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bb8928c603048a23338bdc28da182c4325fd7a66
2017-09-09 09:58:29 -05:00
Jeremy Chen
7cc52b70f0 servo: Merge #18365 - stylo: Store location information for keyframe rules (from chenpighead:stylo-keyframe-location); r=upsuper,emilio
So far, we only store location info for the whole Keyframes block, not for each
of the keyframe rule. Without this info, the devtool can't present the rules
on the devtool panel properly.

In this patch, we collect the source location info while parsing keyframe selector.
The binding function, Servo_KeyframesRule_GetKeyframe, is also fixed (and renamed
to Servo_KeyframesRule_GetKeyframeAt to match the fix) to accept line and column
parameters from Gecko, so we can pass/set them with the source location from Servo.

This is the servo part of [Bug 1394994](https://bugzilla.mozilla.org/show_bug.cgi?id=1394994).

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1394994](https://bugzilla.mozilla.org/show_bug.cgi?id=1394994)

Source-Repo: https://github.com/servo/servo
Source-Revision: f648e12935cb94405a815216391f2527912ba4c2

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 17bc4073e4d17b26e9d8c07a8ed4b996cfe1612f
2017-09-05 11:22:20 -05:00
Simon Sapin
c9fdb7e6d5 servo: Merge #18355 - Reduce usage of fmt in serialization and error reporting (from servo:no-fmt); r=emilio
`format!` and `write!` create a somewhat-heavyweight `Formatting` struct and use dynamic dispatch to call into impls of `Dispaly` and related traits. The former also allocates an intermediate string that is sometimes unnecessary.

I started looking into this from https://bugzilla.mozilla.org/show_bug.cgi?id=1355599, but I expect the impact there will be small to insignificant. It might be a slightly less so on parsing (error reporting).

Source-Repo: https://github.com/servo/servo
Source-Revision: c60dd53210745d9d8e7d3a5ca0310370a33553f4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d58ba91509b981489459b891f7632d035a43a7de
2017-09-04 13:14:44 -05:00
Brad Werth
f99f595da8 servo: Merge #18344 - Change selector::to_css function to handle combinators in between universal selectors (from bradwerth:selectorSerialize); r=SimonSapin
https://bugzilla.mozilla.org/show_bug.cgi?id=1391169
https://reviewboard.mozilla.org/r/172368/

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

Source-Repo: https://github.com/servo/servo
Source-Revision: fd95696d31c4d7964d1d008d839d4a79066ce7f1

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e1c350aa1d8bbaf896f69e5141125a627999b93f
2017-09-01 23:41:10 -05:00
Xidorn Quan
08057f5e1e servo: Merge #18336 - Parse at-rule without block in two stages (from upsuper:two-stage-at-rule); r=SimonSapin
This is the Servo side change necessary for servo/rust-cssparser#180.

----

This also pulls in other changes from cssparser 0.20.0.

Source-Repo: https://github.com/servo/servo
Source-Revision: f2e5b4992658db504db0f6176d3bfa580ced6fd0

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9c1767c636a6585ed1d552ae8c26376547d2f2fc
2017-09-01 17:56:57 -05:00
Glenn Watson
1c314cf843 servo: Merge #18322 - Update WR (font instance API) (from glennw:update-wr-fonts-2); r=emilio
WR now has a concept of font templates and font instances. This
makes the WR font interfaces closer to Cairo and Gecko, and also
makes some future performance optimizations possible.

A font template is the font family, and data backing the font.
A font instance is a reference to a font template and per-instance
options, such as font size, anti-aliasing settings etc.

To update Servo in a minimally invasive way, I added a new font
cache call, that creates a font instance. This means that when
a font is created, and doesn't exist in the cache there are now
two calls to the font cache thread. We could refactor the font
cache to make this work in one call, which we should do in the
future. However, refactoring the font cache is a large chunk of
work by itself. The extra call is only when a font doesn't already
exist in the font context cache, so it should have minimal
performance impact.

Source-Repo: https://github.com/servo/servo
Source-Revision: f7d238d1f38e4d6798cf2f18d72e61b3dd35bd2c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c85ae1d0c1a530c0fbe27fb76ba4b30f5c345f26
2017-08-31 21:59:30 -05:00
Emilio Cobos Álvarez
22b2d26b42 servo: Merge #18300 - style: Remove HasViewportPercentage (from emilio:die-hvp-die); r=nox
It's not needed since #18268, let's kill it.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5dee83d54d3f05cc631ee89de612c14e21dd92ec

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e6f1d82f2005c8203891fedd5bd564411817e858
2017-08-30 04:31:11 -05:00