Commit graph

29317 commits

Author SHA1 Message Date
Anthony Ramine
b441f8a0f7 Kill RootCollectionPtr 2017-09-27 14:24:37 +02:00
Anthony Ramine
378babfd4c Move STACK_ROOTS to dom::bindings::root 2017-09-27 14:16:05 +02:00
Anthony Ramine
8d566fbc3c Move script_runtime::StackRootTLS to root::ThreadLocalStackRoots 2017-09-27 13:58:59 +02:00
Anthony Ramine
a6d01c92d9 Reorder things in dom::bindings::root
The type DomRoot<T> is now the first one defined in it.
2017-09-27 13:44:07 +02:00
bors-servo
0160aaeeea Auto merge of #18641 - servo:ROOT-ALL-THE-THINGS, r=SimonSapin
Improve DomRoot<T>

<!-- 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/18641)
<!-- Reviewable:end -->
2017-09-26 14:25:20 -05:00
bors-servo
68533ac46b Auto merge of #18643 - mystor:nsstring_vendor_untake, r=bholley
Remove unlanded TakeFrom methods from nsstring_vendor

<!-- Please describe your changes on the following line: -->
This should fix the build failures which are happening on autoland right now (e.g. https://treeherder.mozilla.org/logviewer.html#?job_id=133381254&repo=autoland&lineNumber=29416)

I accidentally included changes from https://bugzilla.mozilla.org/show_bug.cgi?id=1377351 in the previous patch, despite those changes not landing in central yet. Oops.

r? @emilio

<!-- 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/18643)
<!-- Reviewable:end -->
2017-09-26 13:30:03 -05:00
Michael Layzell
98dbf149ad Remove unlanded TakeFrom methods from nsstring_vendor 2017-09-26 14:14:22 -04:00
bors-servo
e68509b2e3 Auto merge of #18642 - mystor:nsstring_vendor_bump, r=emilio
nsString bindings update

<!-- Please describe your changes on the following line: -->
This fixes bugzilla bug [1403170](https://bugzilla.mozilla.org/show_bug.cgi?id=1403170).

We've missed a few updates of the nsstring bindings in servo compared to the changes in gecko, so we really ought to find a better solution than these manual updates. For example, recently the way flags in nsstring are implemented was completely redone, and this version wasn't updated. It happened to be that the representation of the new form was identical to the old one, so it wasn't a problem, but technically this was wrong.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build-geckolib` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix bugzilla bug [1403170](https://bugzilla.mozilla.org/show_bug.cgi?id=1403170)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they are a dependency version bump.

<!-- 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/18642)
<!-- Reviewable:end -->
2017-09-26 11:38:58 -05:00
Anthony Ramine
9ea645481b Store a Dom<T> in DomRoot<T> 2017-09-26 18:29:15 +02:00
Michael Layzell
c1c98659b9 Update ns[C]String::from -> ns[C]Str::from where possible 2017-09-26 11:03:35 -04:00
Michael Layzell
cc8b69bae1 Update version of nsstring bindings used by stylo 2017-09-26 10:45:35 -04:00
Anthony Ramine
1ff6c4f9aa Make DomRoot::new unsafe 2017-09-26 16:10:30 +02:00
bors-servo
4450bbdb0c Auto merge of #18640 - emilio:cleanup-as-you-go, r=nox
style: Really minor cleanups.

See commits for details.
2017-09-26 07:53:43 -05:00
Emilio Cobos Álvarez
2bf84ba468
style: There are no more ua_sheets. 2017-09-26 14:52:00 +02:00
Emilio Cobos Álvarez
8a51a4eb01
style: Reformat a bunch of signatures in wrapper.rs 2017-09-26 14:49:27 +02:00
Emilio Cobos Álvarez
4e6fd5693a
style: Cleanup some media-query-related code. 2017-09-26 14:49:25 +02:00
bors-servo
3dbb97922d Auto merge of #18638 - emilio:invalidation-lazy, r=heycam
style: Lazily tweak the traversal root to account for sibling invalidations.

Bug: 1403078
Reviewed-by: heycam
MozReview-Commit-ID: Ij3nMOKu5FO
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

<!-- 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/18638)
<!-- Reviewable:end -->
2017-09-26 06:58:04 -05:00
Emilio Cobos Álvarez
07d55a4bf8
style: Lazily tweak the traversal root to account for sibling invalidations.
Bug: 1403078
Reviewed-by: heycam
MozReview-Commit-ID: Ij3nMOKu5FO
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-09-26 13:09:03 +02:00
bors-servo
81801ab8b4 Auto merge of #18637 - nnethercote:rename-add_size_of_children, r=emilio
Two small tweaks related to MallocSizeOf

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

<!-- 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/18637)
<!-- Reviewable:end -->
2017-09-26 05:52:34 -05:00
Nicholas Nethercote
009150696f Remove some use statements in malloc_size_of.
This file potentially uses multiple implementations of types like `Arc`,
so explicit qualification makes things clearer.
2017-09-26 19:05:23 +10:00
Nicholas Nethercote
e030c0d96a Rename add_size_of_children() methods as add_size_of().
This makes them match `size_of` from `MallocSizeOf`.
2017-09-26 18:54:36 +10:00
bors-servo
1282e0d808 Auto merge of #18635 - servo:RENAME-ALL-THE-THINGS, r=emilio
Rename JS<T> to Dom<T>, Root<T> to DomRoot<T>, and other things

<!-- 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/18635)
<!-- Reviewable:end -->
2017-09-26 03:20:05 -05:00
Anthony Ramine
f87c2a8d76 Rename Root<T> to DomRoot<T>
In a later PR, DomRoot<T> will become a type alias of Root<Dom<T>>,
where Root<T> will be able to handle all the things that need to be
rooted that have a stable traceable address that doesn't move for the
whole lifetime of the root. Stay tuned.
2017-09-26 09:49:10 +02:00
Anthony Ramine
577370746e Rename DOMRefCell<T> to DomRefCell<T>
I don't want to do such a gratuitous rename, but with all the other types
now having "Dom" as part of their name, and especially with "DomOnceCell",
I feel like the other cell type that we already have should also follow
the convention. That argument loses weight though when we realise there
is still DOMString and other things.
2017-09-26 09:49:08 +02:00
Anthony Ramine
9a7ba89c84 Rename OnceCellJS<T> to DomOnceCell<T>
Like DOMRefCell<T>.
2017-09-26 09:49:06 +02:00
Anthony Ramine
e2dac78d36 Rename LayoutJS<T> to LayoutDom<T> 2017-09-26 09:49:04 +02:00
Anthony Ramine
c52fd0a780 Rename MutNullableJS<T> to MutNullableDom<T> 2017-09-26 09:49:02 +02:00
Anthony Ramine
d29335040d Rename MutJS<T> to MutDom<T> 2017-09-26 09:49:00 +02:00
Anthony Ramine
7be32fb237 Rename JS<T> to Dom<T> 2017-09-26 09:48:55 +02:00
bors-servo
2d24d2dd04 Auto merge of #18623 - heycam:smoothing-background, r=xidorn
style: Add support for -moz-font-smoothing-background-color.

From https://bugzilla.mozilla.org/show_bug.cgi?id=1399834 and reviewed there by Xidorn.

<!-- 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/18623)
<!-- Reviewable:end -->
2017-09-26 02:16:46 -05:00
Cameron McCormack
b1671f1282 style: Regenerate Gecko bindings. 2017-09-26 15:08:13 +08:00
bors-servo
92533ac223 Auto merge of #18636 - glennw:update-wr-filter-hit, r=pcwalton
Update WR (handle translucent brightness, invert filters. Hit test API).

<!-- 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/18636)
<!-- Reviewable:end -->
2017-09-25 20:56:33 -05:00
Cameron McCormack
23d710bc36 style: Add support for -moz-font-smoothing-background-color. 2017-09-26 09:17:08 +08:00
Anthony Ramine
0e3c54c191 Rename dom::bindings::js to dom::bindings::root 2017-09-26 02:19:05 +02:00
Anthony Ramine
dafcd821f5 Fix some messages in the tidy script
It's MutJS<T>, not MutJS<JS<T>>.
2017-09-26 02:18:07 +02:00
bors-servo
e6099b4364 Auto merge of #18617 - TheDan64:master, r=KiChjang
Removed integrity check and test for no-cors requests

Removed Step 30.2 which raised a JS TypeError if the integrity metadata was not empty. I manually ran `new Request("", {"mode" : "no-cors", "integrity" : "not an empty string"});` in servo to validate that the exception no longer arose.

---
<!-- 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 #18345
- [x] These changes do not require tests because according to the ticket "Unfortunately, there's no automated test available for this yet because we are having trouble updating our copy of the upstream tests. "

<!-- 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/18617)
<!-- Reviewable:end -->
2017-09-25 19:15:26 -05:00
Glenn Watson
76e846d5f4 Update WR (handle translucent brightness, invert filters. Hit test API). 2017-09-26 10:00:32 +10:00
Daniel Kolsoi
96f9cc77e6 Removed integrity check and test for no-cors requests
Also updated request-headers.html manifest hash
2017-09-25 19:11:30 -04:00
bors-servo
532dee36c1 Auto merge of #17056 - jdm:heapdict, r=emilio
Make dictionaries and unions containing GC values safer

Problems:
* the Heap::new constructor is memory-unsafe with any value other than Undefined/Null
* this means that moving dictionaries containing Heap values (ie. any/object) is memory-unsafe
* unions containing GC pointers are similarly unsafe

Solutions:
- dictionaries containing GC pointers are now wrapped in RootedTraceableBox (even inside other dictionaries)
- instead of using Heap::new, dictionaries containing GC pointers are now initialized to a default value (by deriving Default) and mutated one field at a time
- dictionaries containing GC pointers are marked #[must_root]
- FromJSVal for dictionaries containing GC pointers now returns RootedTraceableBox<Dictionary>
- unions wrap their variants that require rooting in RootedTraceableBox

Rather than attempting to derive Default for all dictionaries, we only do so for the dictionaries that require it. Because some dictionaries that require it inherit from dictionaries that do not, we need to write manual implementations for those parent dictionaries. This is a better option than having to figure out a default value for types like `Root<T>`, which would be required for deriving Default for all dictionaries.

I would still like to come up with an automated test for this, but I figured I would get eyes on this first.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #16952
- [ ] There are tests for these changes

<!-- 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/17056)
<!-- Reviewable:end -->
2017-09-25 16:07:47 -05:00
Josh Matthews
44822c364c Use more named string interpolation. 2017-09-25 16:11:49 -04:00
Josh Matthews
77b3e911c1 Remove almost all uses of Heap::new. 2017-09-25 16:11:49 -04:00
Josh Matthews
f5eb8445b0 Initialize rooted dictionaries to a stable value before setting fields. 2017-09-25 16:11:48 -04:00
Josh Matthews
16166d6673 Derive the Default trait for dictionaries containing GC values. 2017-09-25 16:10:58 -04:00
Josh Matthews
b169689f32 Store rootable dictionary members of dictionaries in RootedTraceableBox. 2017-09-25 16:10:58 -04:00
Josh Matthews
da65698c5c Be more conservative about safety of dictionary and union values.
Mark dictionaries containing GC values as must_root, and wrap them in
RootedTraceableBox in automatically-generated APIs. To accommodate
union variants that are now flagged as unsafe, add RootedTraceableBox
to union variants that need to be rooted, rather than wrapping the
entire union value.
2017-09-25 16:10:58 -04:00
Josh Matthews
e481e8934a Don't generate union conversion functions for object variants. 2017-09-25 16:10:57 -04:00
bors-servo
86b926b4cf Auto merge of #18629 - qdot:update-windows-readme-python-version, r=jdm
Update link to Windows Python Version in README

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

The README currently points to a 2 year old version python for windows (2.7.11). While this version works for servo development, builds also work with the current version (2.7.14), so the link can be updated.

---
<!-- 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 change is documentation update

<!-- 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/18629)
<!-- Reviewable:end -->
2017-09-25 15:01:35 -05:00
Kyle Machulis
61803fb937 Update link to Windows Python Version in README
The README currently points to a 2 year old version of
python (2.7.11). While this version works for servo development,
builds also work with the current version (2.7.14), so the link can be
updated.
2017-09-25 12:47:58 -07:00
bors-servo
bbb5c8436e Auto merge of #18627 - emilio:paint-order, r=nox
style: paint-order serialization fixes.

See each commit for details.

<!-- 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/18627)
<!-- Reviewable:end -->
2017-09-25 09:35:38 -05:00
Emilio Cobos Álvarez
638ba2ce6d
style: Simplify paint-order serialization when possible.
This matches Gecko, and fixes the last reported case in bug 1397619.

MozReview-Commit-ID: 4Z7GeaokKE1
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-09-25 16:07:33 +02:00