Commit graph

5919 commits

Author SHA1 Message Date
bors-servo
38fe9533b9 Auto merge of #19003 - servo:stylo_tests_windows, r=emilio
Make test-stylo compile an empty crate on Windows without Gecko

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

<!-- 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/19003)
<!-- Reviewable:end -->
2017-10-24 13:32:39 -05:00
Simon Sapin
9e595f8206 Make test-stylo compile an empty crate on Windows without Gecko
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
2017-10-24 16:50:13 +02:00
bors-servo
f26aa3b016 Auto merge of #18951 - mrobinson:later-id-assignment-for-clip-scroll-nodes, r=glennw,emilio
Wait as late as possible to assign ClipIds

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

<!-- 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/18951)
<!-- Reviewable:end -->
2017-10-24 09:46:08 -05:00
Martin Robinson
5937f62352 Wait as late as possible to assign ClipIds
This will allow Servo to create ClipScrollNodes later during display
list construction, which will be necessary once rounded rectangles
are removed from the LocalClip structure. Instead of keeping track
of the ClipId of each ClipScrollNode, we keep track of its index in an
array of ClipScrollNodes. This will allow us to access them without a
hash lookup.
2017-10-24 16:28:07 +02:00
bors-servo
2bcb3b4ca9 Auto merge of #18986 - glennw:update-wr-notifier, r=jdm
Update WR (render notifier API changes).

These changes fix #13480.

<!-- 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/18986)
<!-- Reviewable:end -->
2017-10-23 21:04:54 -05:00
Glenn Watson
1da9dc99b5 Update WR (render notifier API changes). 2017-10-24 09:22:21 +10:00
Keith Yeung
c6bb1cb9d5 Merge request type and destination 2017-10-23 11:19:35 -07:00
Martin Robinson
4e9dfe3ec2 Fix the test count in grouping formatter
Now that the WPT update has settled a bit, it seems safe to make sure
that the grouping_formatter properly consumes the data structure
provided.
2017-10-23 13:05:45 +02:00
bors-servo
1667fcc16d Auto merge of #18255 - CYBAI:prevent-reentrancy-pr18218, r=jdm
Update concept of node filter algorithm

Implement new [filter](https://dom.spec.whatwg.org/#concept-node-filter) algorithm from specification

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #18218 (github issue number if applicable).
- [X] These changes do not require tests because changes are minimal and the error was triggered by a test

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18255)
<!-- Reviewable:end -->
2017-10-21 15:13:04 -05:00
bors-servo
bdc7919cef Auto merge of #18959 - glennw:css-run, r=jdm
Add iterpath and iterdir to CSS test runner.

This allows running a subset of the CSS tests again, by specifying
a directory or single test.

Fixes #18931.

<!-- 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/18959)
<!-- Reviewable:end -->
2017-10-20 23:56:11 -05:00
bors-servo
d6042707a6 Auto merge of #18956 - glennw:update-wr-ellipse-bs, r=jdm
Update WR (box shadows + per-corner radii, elliptical clips).

<!-- 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/18956)
<!-- Reviewable:end -->
2017-10-20 16:47:30 -05:00
bors-servo
91077ee418 Auto merge of #18946 - cynicaldevil:update-h5e, r=nox
Update h5e version

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

<!-- 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/18946)
<!-- Reviewable:end -->
2017-10-20 08:49:09 -05:00
Glenn Watson
aaaf644c91 Update WR (box shadows + per-corner radii, elliptical clips). 2017-10-20 11:30:00 +10:00
Glenn Watson
d42a00db60 Add iterpath and iterdir to CSS test runner.
This allows running a subset of the CSS tests again, by specifying
a directory or single test.

Fixes #18931.
2017-10-20 08:34:27 +10:00
Gecko Backout
11c64178d8 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
Backs out https://github.com/servo/servo/pull/18809
2017-10-19 21:26:51 +00:00
bors-servo
fe16c1d5c3 Auto merge of #18809 - Eijebong:bitflags, r=nox
Update bitflags to 1.0 in every servo crate

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

<!-- 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/18809)
<!-- Reviewable:end -->
2017-10-19 10:35:08 -05:00
bors-servo
07e9794306 Auto merge of #18944 - servo:jemallocator2, r=nox
Stop relying on linking details of std’s default allocator

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.

<!-- 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/18944)
<!-- Reviewable:end -->
2017-10-19 09:15:17 -05:00
CYBAI
8245aad2fe Remove legacy tests 2017-10-19 22:04:23 +08:00
Bastien Orivel
e8e2d0a4b2 Update bitflags to 1.0 in every servo crate
It still needs dependencies update to remove all the other bitflags
versions.
2017-10-19 15:01:17 +02:00
Simon Sapin
959ce482dd Stop relying on linking details of std’s default allocator
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.
2017-10-19 09:52:50 +02:00
Nikhil Shagrithaya
2e0bea898e updated version in .toml files 2017-10-19 11:01:18 +05:30
bors-servo
59d727b020 Auto merge of #18926 - glennw:update-wr-bs, r=jdm
Update WR (box shadows, subpixel + alpha text)

<!-- 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/18926)
<!-- Reviewable:end -->
2017-10-18 23:52:54 -05:00
bors-servo
865b9aea35 Auto merge of #18921 - mrobinson:incremental-stacking-context-ids, r=emilio
Fix duplicate stacking context creation for anonymous Flows

Anonymous nodes were previously creating duplicate stacking contexts,
one for each node in the anonymous node chain. This change eliminates
that for tables.

Additionally the use of stacking context ids based on node addresses is
no longer necessary since stacking contexts no longer control scrolling.
This is the first step in eliminating the dependency between node
addresses and ClipScrollNodes which causes issues like #16425.

<!-- 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 are covered by existing tests.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18921)
<!-- Reviewable:end -->
2017-10-18 21:34:23 -05:00
Nicholas Nethercote
4506f0d30c Replace all uses of the heapsize crate with malloc_size_of.
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`.
2017-10-18 22:20:37 +11:00
Martin Robinson
36fa7e4c44 Fix duplicate stacking context creation for anonymous Flows
Anonymous nodes were previously creating duplicate stacking contexts,
one for each node in the anonymous node chain. This change eliminates
that for tables.

Additionally the use of stacking context ids based on node addresses is
no longer necessary since stacking contexts no longer control scrolling.
This is the first step in eliminating the dependency between node
addresses and ClipScrollNodes which causes issues like #16425.
2017-10-18 09:31:40 +02:00
Glenn Watson
4c1c20d492 Update WR (box shadows, subpixel + alpha text) 2017-10-18 12:00:14 +10:00
Cameron McCormack
893415c85a
style: Add some more tests for disallowed rootMargin values. 2017-10-17 14:43:00 +02:00
bors-servo
55b2c79738 Auto merge of #18899 - jdm:updatewpt5, r=jdm
Update web-platform-tests

Now up to date at e03a9b1341ae9bdb1e4fa03765257b84d26fe2f1.

<!-- 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/18899)
<!-- Reviewable:end -->
2017-10-16 18:50:54 -05:00
bors-servo
e8a6f2862c Auto merge of #18875 - servo:stable-js, r=nox,jdm
Remove the need for rust-mozjs to use unstable Rust features

<!-- 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/18875)
<!-- Reviewable:end -->
2017-10-16 17:07:50 -05:00
Josh Matthews
cb9490cb73 Update web-platform-tests to revision 238e9855c35a3570f824b837826aac71e50722f4 2017-10-16 17:27:46 -04:00
Josh Matthews
20a833eb75 Update web-platform-tests to revision e03a9b1341ae9bdb1e4fa03765257b84d26fe2f1 2017-10-16 15:03:02 -04:00
Simon Sapin
3f467023fe Remove unused feature flag 2017-10-16 20:19:17 +02:00
bors-servo
d3d2b0261a Auto merge of #18890 - glennw:update-wr-clip-text-aa, r=jdm
Update WR (details below):

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

<!-- 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/18890)
<!-- Reviewable:end -->
2017-10-16 12:54:02 -05:00
Glenn Watson
4469f39f3f Update WR (details below):
* 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.
2017-10-16 16:33:24 +10:00
tigercosmos
c77b61193f use XML fragment serialization for outerHTML in XML documents 2017-10-16 13:28:23 +08:00
Manuel Hässig
93cee84f9f removed rustc_serialize in style tests 2017-10-15 22:56:33 +02:00
tigercosmos
06759fd0fd use XML fragment serialization for innerHTML in XML documents 2017-10-16 00:38:21 +08:00
bors-servo
6558e01dca Auto merge of #18881 - emilio:osmesa-up, r=nox
Update OSMesa.

<!-- 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/18881)
<!-- Reviewable:end -->
2017-10-14 14:16:44 -05:00
Emilio Cobos Álvarez
9442ccb81c
Update OSMesa. 2017-10-14 21:16:25 +02:00
Kafji
ad22e6edfe Update domparsing spec links to not point at WHATWG
- Change domparsing spec link from domparsing.spec.whatwg.org to w3c.github.io/DOM-Parsing
- Remove from tidy since it's already covered by w3c.github.io
- Update test manifest
2017-10-14 20:49:44 +07:00
bors-servo
2be76c5fd7 Auto merge of #18867 - emilio:parse-hack, r=heycam
style: Dishonor display: -moz-box if -webkit-box was specified before

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.

<!-- 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/18867)
<!-- Reviewable:end -->
2017-10-14 05:27:51 -05:00
Emilio Cobos Álvarez
25c303ee62
style: Be clearer about whether a declaration comes from parsing or not.
This introduces DeclarationSource, to see if a declaration has been parsed or
set from CSSOM in a declaration block.

The Servo_DeclarationBlock_SetFoo and similar callers are changed to
DeclarationSource::CssOm because their semantics are more CSSOM-y, but it
shouldn't matter since they should all be checked before hand with
Servo_DeclarationBlock_PropertyIsSet.
2017-10-14 11:30:59 +02:00
Cameron McCormack
252ff2f7c5 style: Remove Servo_GetStyleVariables test special case. 2017-10-14 15:45:30 +08:00
Simon Sapin
e7c53d4ca2 Use pointer casts instead of tramsutes to raw::TraitObject
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.
2017-10-13 21:55:11 +02:00
bors-servo
78aaa85aec Auto merge of #18854 - servo:servo-unstable-feature, r=nox
Make optional the usage of some unstable features

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.

<!-- 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/18854)
<!-- Reviewable:end -->
2017-10-13 12:26:39 -05:00
bors-servo
085a0db056 Auto merge of #18857 - servo:jdm-patch-2, r=KiChjang
Remove call to missing method

Somehow the test harness does not report this as a problem, which is scary.

<!-- 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/18857)
<!-- Reviewable:end -->
2017-10-13 08:34:42 -05:00
Simon Sapin
e13ae77daf Remove usage of unstable feature "raw" 2017-10-13 11:11:07 +02:00
Josh Matthews
e5f503a166 Remove call to missing method 2017-10-13 00:35:03 -04:00
bors-servo
428ef1111f Auto merge of #18840 - glennw:update-wr, r=jdm
Update WR (fontconfig options, DL optimizations, isolate fixes).

<!-- 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/18840)
<!-- Reviewable:end -->
2017-10-12 17:57:43 -05:00
Glenn Watson
7e36704f48 Reduce the blur and spread radius size of a reftest.
In the near future, we'll be changing the blur algorithm in WR.

On native GPUs, this is fine - but on OSMesa, a blur of this
radius and spread is quite slow, and can cause test timeouts
when running with a lot of processes enabled.

Reducing the spread / blur shouldn't affect what this is testing.
2017-10-13 07:30:54 +10:00