Commit Graph

28 Commits

Author SHA1 Message Date
Matt Brubeck
8cc50002a2 servo: Merge #18924 - Fix commonmark Markdown warnings in docs, part 1 (from mbrubeck:doc); r=Manishearth
Fixes warnings from rust-lang/rust#44229 when `--enable-commonmark` is passed to rustdoc.

This is mostly a global find-and-replace for bare URIs on lines by themselves in doc comments.

---

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they are doc formatting changes only

Source-Repo: https://github.com/servo/servo
Source-Revision: 0e62a5829b7c29ae2667a21a439aff1e89201bf3
2017-10-17 16:04:10 -05:00
Simon Sapin
f416e45c42 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
2017-10-16 17:07:50 -05:00
Simon Sapin
9ff046fd76 servo: Merge #18900 - Remove use of unstable box syntax (from servo:box_syntax); r=emilio
http://www.robohornet.org gives a score of 101.36 on master, and 102.68 with this PR. The latter is slightly better, but probably within noise level. So it looks like this PR does not affect DOM performance.

This is expected since `Box::new` is defined as:

```rust
impl<T> Box<T> {
    #[inline(always)]
    pub fn new(x: T) -> Box<T> {
        box x
    }
}
```

With inlining, it should compile to the same as box syntax.

Source-Repo: https://github.com/servo/servo
Source-Revision: a9022be0c3e30249845ca5947ac0c0a6743c7991
2017-10-16 11:21:21 -05:00
Anthony Ramine
c5dbf61d7f servo: Merge #18635 - Rename JS<T> to Dom<T>, Root<T> to DomRoot<T>, and other things (from servo:RENAME-ALL-THE-THINGS); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 1282e0d8080ae15307ac8d35941754f9d60f0d76
2017-09-26 03:20:05 -05:00
Clément DAVID
a6c6efb7e6 servo: Merge #18179 - Automatically verify that derive() lists are alphabetically ordered #… (from davidcl:master); r=jdm
<!-- Please describe your changes on the following line: -->
Automatically verify that derive() lists are alphabetically ordered #18172

---
<!-- 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 #18172 (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: 474369618965569407d127b1e8c481e757cc59d3
2017-08-23 17:18:31 -05:00
Connor Brewster
3b66c7eaa1 servo: Merge #17935 - Custom element upgrades (from cbrewster:ce_upgrades); 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
- [ ] 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: a087fee4b4daa76c7e1677b0adae512fb6c87d04
2017-08-09 17:22:28 -05:00
Connor Brewster
8df9f2c6bf servo: Merge #17761 - Add [CEReactions] to webidls (from cbrewster:ce_reactions); r=jdm
<!-- Please describe your changes on the following line: -->
Relies on #17614

---
<!-- 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: a6739cb17f381b88531eb6173d048868aec8e082
2017-07-18 12:37:46 -07:00
Connor Brewster
2a1b72294b servo: Merge #17224 - WebIDL HTMLConstructor support (from cbrewster:html_constructor); r=jdm
<!-- Please describe your changes on the following line: -->
spec: https://html.spec.whatwg.org/multipage/#htmlconstructor

---
<!-- 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 #17194 (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: c58bcc23ea5c4b5f83944e111ce9a2d0ec2b5400
2017-06-15 21:47:16 -07:00
Anthony Ramine
97fe8f9af3 servo: Merge #14225 - Update js (from servo:update-js); r=jdm,Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 7d69f53794c9f823d524d0d4382c04c4a57bea65
2016-11-27 05:03:15 -08:00
Anthony Ramine
7df8d8040c servo: Merge #13185 - Make console a namespace (fixes #13010) (from nox:namespaces); r=jdm,Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 84f3cf22bfa3a8897a687e9282b1a9df1cbcb8cc
2016-09-10 07:33:25 -05:00
Anthony Ramine
8b69f20ab7 servo: Merge #13183 - Clean up stuff in bindings::interface (from nox:cleanup-interface); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 628c644feeb2ba72b17ec5d74e559223accabbf3
2016-09-06 08:48:15 -05:00
Anthony Ramine
1dc02a75bb servo: Merge #13030 - Improve prototypes of global objects (from nox:global); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 8b84566097c6cce549f4ce3c6eba803dc8a537b4
2016-08-25 07:45:39 -05:00
Ms2ger
7b9e0474eb servo: Merge #12255 - Update SpiderMonkey to m-c bcf4ff0c3eef (from servo:smup); r=jdm
This currently breaks Servo on Android, because there are a number of interdependent changes that cannot easily land serially in a way that keeps it working throughout. We expect to fix this in the near future.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5ae1fcd6fe35f942f1cb29fd0efdc9c2de393ee6
2016-07-28 06:58:59 -05:00
Ms2ger
0e47523e7e servo: Merge #12353 - Implement [Exposed] (from Ms2ger:expose); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 6d59be17bedbf9a96915b854df8ae8a0cd371831
2016-07-12 04:35:53 -07:00
Eduard Burtescu
8567ba029a servo: Merge #11872 - Replace return_address usage for rooting with stack guards and convenience macros (from eddyb:back-to-roots); r=Ms2ger
The existing `Rooted` and `RootedVec` users were migrated the the following two macros:
```rust
let x = Rooted::new(cx, value);
// Was changed to:
rooted!(in(cx) let x = value);
// Which expands to:
let mut __root = Rooted::new_unrooted(value);
let x = RootedGuard::new(cx, &mut __root);
```
```rust
let mut v = RootedVec::new();
v.extend(iterator);
// Was changed to:
rooted_vec!(let v <- iterator);
// Which expands to:
let mut __root = RootableVec::new();
let v = RootedVec::new(&mut __root, iterator);
```

The `rooted!` macro depends on servo/rust-mozjs#272.
These APIs based on two types, a container to be rooted and a rooting guard, allow implementing both `Rooted`-style rooting and `Traceable`-based rooting in stable Rust, without abusing `return_address`.

Such macros may have been tried before, but in 1.9 their hygiene is broken, they work only since 1.10.

Sadly, `Rooted` is a FFI type and completely exposed, so I cannot prevent anyone from creating their own, although all fields but the value get overwritten by `RootedGuard::new` anyway.
`RootableVec` OTOH is *guaranteed* to be empty when not rooted, which makes it harmless AFAICT.

By fixing rust-lang/rust#34227, this PR enables Servo to build with `-Zorbit`.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix rust-lang/rust#34227
- [x] These changes do not require tests because they are not functional changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 80cb0cf8214fd52d2884724614c40cb278ee7575
2016-07-04 11:03:35 -07:00
Anthony Ramine
2f12cba14d servo: Merge #11620 - Implement [Unscopable] (fixes #11583) (from nox:unscopable); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: f56848a0e8a9137f128088d1dd0f86e11fad841a
2016-06-07 09:04:15 -05:00
Anthony Ramine
8783f275db servo: Merge #11308 - Implement [Func] (from nox:guarded); r=jdm
First part of #11292, this just includes support of `[Func]`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 073c5e3b6b8950c01c9e5691925d24787fd06d53
2016-05-27 04:45:06 -05:00
Anthony Ramine
6485eb1b34 servo: Merge #11188 - Use JS_NewStringCopyN for the representation of interface objects (from nox:n-better-than-z); r=Ms2ger
This removes the need for the final null byte and we can make NonCallbackInterfaceObjectClass::new safe again I guess.

Source-Repo: https://github.com/servo/servo
Source-Revision: 252b0d8fa53f0ffff247f38743627b6e5ffb74e9
2016-05-16 06:26:13 -07:00
Anthony Ramine
195ce9ea2b servo: Merge #10756 - Update SpiderMonkey (from servo:smup); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 2c69278067a23703b251a69c875bee49449c6bfc
2016-05-03 15:46:40 -07:00
Josh Matthews
b0b79a7551 servo: Merge #10081 - Support controlling interface and member visibility via preferences (from jdm:interfacepref); r=nox
This was easier to throw together than per-attribute/method support, and it gets rid of some nonstandard properties from our globals.

Fixes #7626.

r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: 8255e74a61d62be94ef53caa9ebe6cd5082dcb4d
2016-05-02 11:35:38 -07:00
Anthony Ramine
465dcd55de servo: Merge #10819 - Refactor the call hook on non-callback interface objects (fixes #10744) (from nox:call-without-new); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: a92a6360cf2833c405ec668ee144db5de44c15cf
2016-04-25 02:45:29 -07:00
Guillaume Gomez
8ac1beee06 servo: Merge #10096 - Make all interface objects share the same funToString (from GuillaumeGomez:fun_to_string); r=nox
Fixes #9280

Source-Repo: https://github.com/servo/servo
Source-Revision: e95368df6297e664122da8ae15f25724be557353
2016-03-21 16:20:44 +05:00
Anthony Ramine
4acb3febf5 servo: Merge #9652 - Lazily define interface objects on globals (fixes #6419) (from nox:lazy-interface-object); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: b188cb542e92f3490b049e8db8473c7e2acf6dc9
2016-02-25 21:12:11 +05:00
Guillaume Gomez
75cb058ec0 servo: Merge #9633 - All interface objects now share the same hasInstance (from GuillaumeGomez:has_instance); r=nox
r? @nox

Source-Repo: https://github.com/servo/servo
Source-Revision: 267630779316d2291b10ed8e60d0f9f5f2100ab1
2016-02-19 19:19:33 +05:00
Anthony Ramine
41c81d644d servo: Merge #9645 - Fix the hasInstance hook of interface objects (from nox:fix-has-instance); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 87c6889f44f67e9c8a186e1b4d95066a4e67ecd3
2016-02-15 18:43:02 +05:00
nxnfufunezn
4fc3587ff8 servo: Merge #9413 - Move ConstantSpec, NonNullJSNative and define_constants from utils to interface (from nxnfufunezn:issue-9412); r=nox
Fixes #9412
r? @nox

Source-Repo: https://github.com/servo/servo
Source-Revision: e93a460db4902195ec64e6fe67817f9e3a7c1da9
2016-01-24 20:18:57 +05:00
apopiak
90b5952578 servo: Merge #9296 - implement NonCallbackInterfaceObjectClass::as_jsclass() (from apopiak:implement_as_class_9287); r=ecoal95
close #9287

Source-Repo: https://github.com/servo/servo
Source-Revision: a28b5cb43859b6300c0b157c6b3d25d78606dda8
2016-01-14 17:54:03 +05:00
Anthony Ramine
b9abb88810 servo: Merge #8954 - Fix prototypes of interface objects (fixes #2665) (from nox:protochain); r=Ms2ger
Callback interface objects' (i.e. NodeFilter's) prototype is now Object instead of
Function and non-callback interface objects' their proper ancestor, starting with
the Function prototype.

The function do_create_interface_objects is removed in favour of 4 functions:
create_callback_interface_object, create_interface_prototype_object,
create_noncallback_interface_object and create_named_constructors.

While this increases the amount of codegen'd code, this greatly improves the
readability of the code involved in this part of DOM, instead of having one function
doing 4 different things. We can always find a more adequate abstraction later.

NativeProperties and everything related to the interface objects have been removed
from the utils module.

Fixes #2665.

Source-Repo: https://github.com/servo/servo
Source-Revision: e977a6e69a06ad69e87cc235b4ede60f8fb3eca3
2016-01-12 21:30:47 +05:00