Commit graph

297 commits

Author SHA1 Message Date
Anthony Ramine
dbaf1869d4 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
Keith Yeung
db9fff8daa servo: Merge #10674 - Avoid generating parameter names that are Rust keywords (from KiChjang:codegen-avoid-rust-keywords); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: f93379ff4e33a74922b859ac2be14c43c58ec24f
2016-04-18 04:41:43 +05:01
Arnaud Marant
6bc6d2d94a servo: Merge #10545 - remove unreachable code in codegen (from amarant:unreachable-codegen); r=Ms2ger
code is unreachable after return, and identical to the upper block

Source-Repo: https://github.com/servo/servo
Source-Revision: 155e4052d150179ea8423a7ea626a84e25409718
2016-04-13 02:36:33 +05:01
Josh Matthews
7bc8e96798 servo: Merge #10288 - Enable dictionaries in WebIDL sequences. Fixes #10282 (from jdm:dictseq); r=nox
r? @nox

Source-Repo: https://github.com/servo/servo
Source-Revision: acaac52be7973cfbf6621796d4fb944fbfd343ff
2016-03-31 23:59:13 +05:01
Ben
0218098aa7 servo: Merge #10152 - Fix #9511. Export webidl enums using "pub use" (from jdm:9511-rebase); r=nox
Change typedef codegen to export the underlying enum itself, rather
than an alias. Works around https://github.com/rust-lang/rust/issues/31355

Rebase of #9691.

Source-Repo: https://github.com/servo/servo
Source-Revision: edcf24fd4d39e86548717ecdfe36e2f1df30daac
2016-03-24 10:11:44 +05:01
Guillaume Gomez
d5f008cc87 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:21:44 +05:01
Peter
0b443ce56f servo: Merge #9786 - Fixed compile error in generated code, when webidl constructors have same number of args (from peterjoel:fix_codegen_is_array_like); r=jdm
One of the ways that generated code differentiates constructors is by comparing if the args are array-like. The generated code was calling a function `IsArrayLike` that no longer exists. I re-implemented it with a more rust-like naming scheme.

Source-Repo: https://github.com/servo/servo
Source-Revision: c37a0866608421d9e3afd67f0777e27091104f0f
2016-03-04 14:45:20 +05:01
Anthony Ramine
76517d377c 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:13:11 +05:01
Anthony Ramine
125de5e009 servo: Merge #9067 - Make NamedNodeMap's named properties unenumerable (from nox:unenumerable-named-properties); r=jdm
https://dom.spec.whatwg.org/#dom-htmlcollection-item

Source-Repo: https://github.com/servo/servo
Source-Revision: 7192495e1a5ae24b62c61b718df38ee2f8803e03
2016-02-23 22:29:30 +05:01
Anthony Ramine
b008636747 servo: Merge #9728 - Preliminary commits for lazy interface objects in #9652 (from nox:lazy-preliminaries); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 3550993075a0dedb5857a421cf39c3e8942b30f8
2016-02-23 19:44:45 +05:01
Guillaume Gomez
1eea3df8a9 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:20:33 +05:01
zakorgyula
105f36d259 servo: Merge #9580 - Fixing issue with uniontypes not created with primitive types (from zakorgy:pythonfix); r=Ms2ger
Fixes #9531

Source-Repo: https://github.com/servo/servo
Source-Revision: 9778e5e84d95af1d1dadf71ad8a28701762bf8fc
2016-02-18 16:11:10 +05:01
Ms2ger
19b3af46cf servo: Merge #9678 - Derive the Debug trait for WebIDL-generated enums (from servo:debug-enum); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: 07cb6599d0829d2eccdd8a2a0cf46ff657901593
2016-02-18 09:22:57 +05:01
Anthony Ramine
66105be900 servo: Merge #9676 - Support [ExceptionClass] (from nox:domexception); r=KiChjang
Use it on DOMException.

Source-Repo: https://github.com/servo/servo
Source-Revision: 61f09cce4e7c1681fd1f7fbefada596316f06809
2016-02-17 18:22:47 +05:01
Alexander Lopatin
6da1d8c042 servo: Merge #9543 - Fix #9508: Beautify our union enums constructors (from alopatindev:enums_constructors_codingstyle_fix); r=KiChjang
Solves #9508
@jdm Please review. Thanks!

Source-Repo: https://github.com/servo/servo
Source-Revision: 28ecb0bba3fa395ed56bb2448a21e02c3ff88c8b
2016-02-07 05:30:57 +05:01
Prabhjyot Singh Sodhi
84cdb8c94c servo: Merge #9419 - generate typedefs in CodegenRust (from psdh:includeTypedef); r=nox
fixes #9384

Source-Repo: https://github.com/servo/servo
Source-Revision: a75f2cecda9b259dcfe576de53f690d9c96a36d8
2016-01-26 21:41:57 +05:01
Michael Rosenberg
2d8d6310cf servo: Merge #9430 - Fix issue #9411 - Do not generate empty WebIDL 'Constant' modules (from doomrobo:WebIDL-no-empty-const-modules); r=nox
Fixes issue #9411

Source-Repo: https://github.com/servo/servo
Source-Revision: a19b14313a333c5e895e481768237275f564044f
2016-01-26 15:11:16 +05:01
nxnfufunezn
28dd0cb227 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:19:57 +05:01
Emilio Cobos Álvarez
52314ac85d servo: Merge #9304 - webidl: Implement sequences in unions (from emilio:sequence-in-unions); r=nox
Unblocks #9053

Source-Repo: https://github.com/servo/servo
Source-Revision: 2f0daa1d47a2c720be241720b2083be4968404b6
2016-01-17 16:50:49 +05:01
Emilio Cobos Álvarez
59da8760a5 servo: Merge #9056 - Implement WebIDL sequence arguments (from emilio:sequence-args); r=nox
And use it for `WebGLRenderingContext#uniform1fv`.

Blocked on https://github.com/servo/rust-mozjs/pull/226

Fixes #544

Source-Repo: https://github.com/servo/servo
Source-Revision: c97d557720b2ef312b964534bd511d45161a2729
2016-01-12 22:58:30 +05:01
Anthony Ramine
46b9c7f311 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:31:47 +05:01
Corey Farwell
226d983d0f servo: Merge #9200 - Remove unneeded dict sorting functions in CodegenRust.py (from frewsxcv:unnecessary-sorting-functions); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 85792d281964858d3a9ff4fa46e2c7cd8700c03f
2016-01-11 02:12:42 +05:01
Guillaume Gomez
c2448b55aa servo: Merge #9146 - Generate PartialEq automatically (from GuillaumeGomez:generate_partial_eq); r=nox
r? @nox

Fixes #8804

Source-Repo: https://github.com/servo/servo
Source-Revision: 1096183cceea9ec78ab02caa33ee2d14668d977d
2016-01-04 00:08:10 +05:01
Anthony Ramine
c866440a7c servo: Merge #8993 - Slightly reduce the output of codegen (from nox:small-codegen-slimming); r=Ms2ger
Interfaces which we know are never instantiated can generate less code.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8dc4b8dcb927ba8f61b99d869efb688903504c07
2015-12-18 06:06:15 +05:01
Anthony Ramine
fc06cf52ab servo: Merge #8996 - Do not create modules from files with nothing to codegen (fixes #8711) (from nox:rm-empty-modules); r=frewsxcv
Fixes #8711.

Source-Repo: https://github.com/servo/servo
Source-Revision: d1ea209f0fb4951ee7cd773e448ee65968968d38
2015-12-16 20:37:37 +05:01
Anthony Ramine
d5b0ce5bfa servo: Merge #8055 - Remove all our patches to the WebIDL parser (from nox:rm-webidl-patches); r=Ms2ger
All the tweaks we need can just be made through Configuration.py.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9c4ca39ebe57502b74d75aa9d6953b017d884f54
2015-12-16 14:50:25 +05:01
Anthony Ramine
f502bfb306 servo: Merge #8991 - Merge CGClassConstructHook and CGClassNameConstructHook (fixes #8934) (from nox:clean-construct-hook); r=frewsxcv
Fixes #8934.

Source-Repo: https://github.com/servo/servo
Source-Revision: 59a354427923f1c4febd9b8bcd6692900aa10f98
2015-12-16 04:44:50 +05:01
Guillaume Gomez
994b1c9d37 servo: Merge #8986 - Fix invalid returned value for dictionary types (from GuillaumeGomez:patch-2); r=nox
part of #8882

cc @nox

Source-Repo: https://github.com/servo/servo
Source-Revision: 432087c0ea6a5a419273b448eec62eb7549ba242
2015-12-15 22:28:58 +05:01
Guillaume Gomez
421e148400 servo: Merge #8966 - Fix invalid dictionary inheritance (from GuillaumeGomez:patch-1); r=nox
Needed by #8882.

cc @nox

Source-Repo: https://github.com/servo/servo
Source-Revision: 201b5c98202fc6fbdd7478c650199777e5eb9dd8
2015-12-14 16:39:23 +05:01
Keith Yeung
277a5024e0 servo: Merge #8854 - Treat 'undefined' passed to optional JS arguments as missing (from KiChjang:undefined-as-missing); r=frewsxcv
@frewsxcv please don't hurt me for this.

I've added an AND condition to check whether the value being passed is undefined while checking whether the argument exists at all. Essentially, this is now treating undefined arguments the same as missing arguments.

Fixes #8813.
Fixes #6558.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8bab1cd7a4634618d18985d273c6997984919ecc
2015-12-13 10:12:56 +05:01
Josh Matthews
b54ed93b4a servo: Merge #8827 - Avoid a null-dereference using debug mozjs builds. This matches the e… (from jdm:debugmozjscrash); r=Ms2ger
…quivalent code upstream in Gecko.

Source-Repo: https://github.com/servo/servo
Source-Revision: 59029325c04d94af636e0b48478b00404afc4f7c
2015-12-08 11:42:53 +05:01
Anthony Ramine
192fe9ad11 servo: Merge #7988 - Implement [Unforgeable] (from nox:unforgeable); r=jdm
This is mostly stolen from Gecko. As there, we define the unforgeable members
on an object stored in the slots of the prototype object. They are then copied
onto instance objects when they are instantiated. It should be noted that
proxy objects see their unforgeable memebers defined on their expando object.

Unforgeable attributes aren't properly inherited in codegen (in a similar
fashion as getters and setters as filed in #5875) and require to be redefined
in derived interfaces. Fortunately, there are currently no such interfaces.

No unforgeable members can be included into the TestBinding interfaces for good
measure because they are not compatible with setters.

Source-Repo: https://github.com/servo/servo
Source-Revision: 20df7fb7c82a5501342ac85278294e4bcb5b1ab7
2015-12-03 10:34:05 +05:01
Anthony Ramine
0d9105190f servo: Merge #8751 - Remove unused slot in prototype object (fixes #8588) (from nox:rm-prototype-slot); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 29c42a9f78a20ddeb5aa89b79d578a039c087967
2015-11-30 18:58:57 +05:01
Alan Jeffrey
f8093754b7 servo: Merge #8477 - Opaque DOMString (from asajeffrey:opaque-domstring); r=asajeffrey
This patch makes DOMString an opaque wrapper round String (currently it's a transparent wrapper).

The changes are:

* Replacing DOMString(foo) by DOMString::from(foo).
* Replacing foo.0 by String::from(foo).
* Adding functions clear, push_str and extend for in-place mutation of DOMStrings.
* Replacing DOMString by String in other threads (devtools, storage and filereader).
* Making DOMString implement !Send.
* Removing the pub attribute from the contents of DOMString.

This enables experimenting with other string representations in the DOM.

Source-Repo: https://github.com/servo/servo
Source-Revision: 62acdd303b78951885c2c90747b31f318907d6c9
2015-11-13 06:48:30 +05:01
Anthony Ramine
628d175690 servo: Merge #8147 - Implement weak-referenceable JS-managed objects (from nox:weakref); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: e63b1e83d4acd272cdf293292f2a496455405098
2015-11-13 05:53:40 +05:01
Anthony Ramine
a0a6e0cd40 servo: Merge #8498 - Properly handle variadic arguments preceded by default values (from nox:fix-variadic-and-default-arguments); r=jdm
I broke that in #8197.

Source-Repo: https://github.com/servo/servo
Source-Revision: c44c73aa00ced6235266bd692833e22018f31138
2015-11-13 03:53:11 +05:01
Ms2ger
3890fca29d servo: Merge #8428 - Update js (from Ms2ger:conversions); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: b40882093a306032d38ad02e30f0095e0a49ec21
2015-11-13 00:44:52 +05:01
Emilio Cobos Álvarez
1f31ca57ca servo: Merge #8412 - Add WebIDL sequence return values (from emilio:webidl-sequence-return); r=jdm
And use it for `WebGLRenderingContext::getSupportedExtensions`.
Part of #544

Source-Repo: https://github.com/servo/servo
Source-Revision: 12f6ba29a74029fa8c83cc7274181d441e1e52dd
2015-11-11 22:46:15 +05:01
Anthony Ramine
b98af75b92 servo: Merge #8197 - Support variadic interface arguments (fixes #8159) (from nox:variadic-interface-argument); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: f03a8261c58f650eda789b1f9f5363af6e15f59c
2015-11-11 19:03:26 +05:01
Eli Friedman
86523168cb servo: Merge #8286 - Remove unnecessary uses of #[no_move] (from eefriedman:no-move); r=nox
The patch makes RootCollection a bit safer by making the StackRootTLS hold
it in place.

RootedVec was doing an extremely delicate dance and just hoping nobody
messed it up; switch to a Box to be safe.

CodeGenRust seemed to be using no_move for no particularly good reason.

Source-Repo: https://github.com/servo/servo
Source-Revision: 92f9e58310f1b7c3925882979ae9352967866b66
2015-11-08 12:22:00 +05:01
Ms2ger
7cb2a13f43 servo: Merge #8312 - Make DOMString a newtype around String, rather than a typedef (from Ms2ger:DOMString); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: abfd1fb1bf071961bc8a581927eaa96a2d3e2cba
2015-11-04 16:18:41 +05:01
rohan.prinja
e8b504412b servo: Merge #8221 - move modules around (from ajnirp:8130-reorganise); r=jdm
for #8130

Source-Repo: https://github.com/servo/servo
Source-Revision: daad09d44245228fba9118316937add71bec7c58
2015-11-04 02:27:02 +05:01
Ms2ger
4c8234b842 servo: Merge #8267 - Various improvements (from Ms2ger:cleanup); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: 1dfc0481efd4687658ab34e68c883caeadd8b20f
2015-10-30 23:26:34 +05:01
Nathan Froyd
0e1dc5b616 servo: Merge #8226 - unblock using JS_GC_ZEAL (from froydnj:gc-zeal); r=Ms2ger
I think these patches move the `JS_SetReservedSlot` call to the right place for #6057.  I'm not sure that the interface to `create_dom_global` is the best; passing a `JSVal` or a `*libc::c_void` seemed about equal, so I'd welcome feedback there.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3efa74997626afb3eda0f34842a4969da468dff0
2015-10-28 16:55:36 +05:01
Nathan Froyd
cb4c680b95 servo: Merge #8040 - generate JIT argument type information for methods (from froydnj:codegen-arg-info); r=jdm
This enhances `CodegenRust.py` to output `JSTypedMethodJitInfo` structures where appropriate.  This brings a notable speedup to tests like Dromaeo's `dom-attr/getAttribute`, which improves by several orders of magnitude with these patches applied.

If there are tricks for addressing the XXX comments, I would appreciate hearing them.

I think this addresses all of #6904.

Source-Repo: https://github.com/servo/servo
Source-Revision: d1295e9e7d0acfa32a55827fa8e28a297dbcf214
2015-10-28 00:37:06 +05:01
Akos Kiss
5eb76ac9ed servo: Merge #8132 - Fix char types in script binding codegen (from akosthekiss:codegen-u8); r=Ms2ger
Use `libc::c_char` instead of `i8` for character data since that's more
portable. (Some architectures, e.g. AArch64, have unsigned characters,
i.e. `u8`.)

Source-Repo: https://github.com/servo/servo
Source-Revision: 3342cd9531c1f3c0419a0733b73c65838780a0f7
2015-10-21 10:44:14 -06:00
Anthony Ramine
bb8125a3da servo: Merge #8041 - Introduce trait Castable (from nox:castable); r=jdm
Removes all those messy FooCast structures in InheritTypes.rs.

Source-Repo: https://github.com/servo/servo
Source-Revision: 674589c370d978f543e71f995d58c5b28e6e9842
2015-10-21 07:57:32 -06:00
Corey Farwell
f73c951c58 servo: Merge #8059 - Fix formatting for variable in doc-comment within codegen (from frewsxcv:fix-codegen-docs); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b847e4dd778e49ba60c786da4aa77813dee8b553
2015-10-18 07:55:48 -06:00
Anthony Ramine
06fd534a1b servo: Merge #8020 - Generate all Derived implementations in codegen (from nox:codegen-derived); r=Ms2ger
Follow-up of #7873.

@Ms2ger r? :)

Source-Repo: https://github.com/servo/servo
Source-Revision: 417cf5738e4609f4b2e34e9e0c4f7ef68f087432
2015-10-15 12:53:08 -06:00
Anthony Ramine
9be943ec1a servo: Merge #7972 - Introduce DOMClass::heap_size_of (from nox:codegen-heapsize); r=Ms2ger
It holds a function pointer to the HeapSizeOf::heap_size_of_children()
implementation corresponding to that IDL interface.

This removes the need for a clumsly TypeId-based match expression in the
former heap_size_of_eventtarget() function.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5a0a91eba794af027723051c7f039cb22088aa65
2015-10-15 07:13:55 -06:00
Michael Wu
e4dfd5fc9a servo: Merge #7727 - Support the updated spidermonkey bindings (from michaelwu:update-bindings); r=jdm
Still need to finish the rust-mozjs update and make cargo use it, but it's close enough that I don't expect much to change on the servo side.

Some changes here
- bools are properly translated now
- char16_t is handled as u16 now
- JS_GlobalObjectTraceHook isn't mangled now
- JSJitInfo has been adjusted
- A const fn is used to generate bitfields in JSJitInfo
- Manually generating handles now requires calling an unsafe function. It's not actually required, but it's too much of a hassle to generate them manually now due to bindgen++ adding base classes now.

Source-Repo: https://github.com/servo/servo
Source-Revision: b34fd5bd7e55be1d577df5cf70b41af8a6cc716b
2015-10-14 14:48:44 -06:00
Anthony Ramine
d5038d123e servo: Merge #7873 - Generate the various TypeId enums in codegen (from nox:codegen-typeid); r=Ms2ger
This frees us forever from caring about maintaining these enums. The last commit removes their use from the initialisation of interface objects derived from Node.

Source-Repo: https://github.com/servo/servo
Source-Revision: 32daa17d5cbcad02db0713e21e52410cdc60480e
2015-10-14 12:47:48 -06:00
Andriy Kunitsin
d8ffd6e1db servo: Merge #7948 - Changed dom_class type to Option<&'static DOMClass> to fix #7942 (from kunitsyn:master); r=Manishearth
I have a feeling that converting `Option<&T>` to `*const libc::c_void` could be less explicit.
Was there any way to do it shorter?

Source-Repo: https://github.com/servo/servo
Source-Revision: 9cccd98254191b1663dcaee9010eee63fa8074a3
2015-10-09 23:22:59 -06:00
Ms2ger
2127faec58 servo: Merge #7903 - Add support for documenting CGAbstractMethods (from Ms2ger:codegen-docs); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 745635a706223df3d0f6db927cf1f547d948be87
2015-10-07 06:20:20 -06:00
Anthony Ramine
c2667cecbc servo: Merge #7735 - Don't generate useless InheritTypes interfaces (from nox:rm-useless-casts); r=Ms2ger
Interfaces with no descendant need neither a Base trait nor upcast functions, and interfaces with no ancestors neither a Derived trait nor downcast functions.

Source-Repo: https://github.com/servo/servo
Source-Revision: 243647d15a48b2b7008657d321dead9912347d03
2015-10-05 06:09:56 -06:00
Corey Farwell
91eafe9f20 servo: Merge #7691 - Remove deprecated 'creator' WebIDL attribute (from frewsxcv:rm-creator-webidl-attribute); r=nox
According to @Ms2ger, the 'creator' attribute was merged into 'setter'

Source-Repo: https://github.com/servo/servo
Source-Revision: 291fa888326e743a1e59aa7c06d5288a0643cbb7
2015-09-21 05:45:30 -06:00
Corey Farwell
7eef01d9ec servo: Merge #7690 - Minor DOM codegen cleanup (from frewsxcv:codegen-cleanup); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: ec9aa9ace024470363ff227b97fb442a400fe496
2015-09-21 01:53:56 -06:00
Anthony Ramine
6953aa403a servo: Merge #7606 - Move the type_id fields to DOMClass (from nox:move-typeid); r=jdm
Cc @michaelwu.

Source-Repo: https://github.com/servo/servo
Source-Revision: d5ee58caf269779e86b2efc50ddf37d3e4eba9b9
2015-09-13 11:53:42 -06:00
Corey Farwell
54e55fc66f servo: Merge #7591 - Link to Servo issue instead of Gecko bug (from frewsxcv:servo-issue); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: d64331b7d27189e6620d7df61e82cf59e776a2ff
2015-09-10 02:56:11 -06:00
Anthony Ramine
43d95e4258 servo: Merge #7455 - Do not allow some warnings in codegen anymore (from nox:rm-unused-warnings); r=jdm
This fixes #395.

Source-Repo: https://github.com/servo/servo
Source-Revision: a855669d4ff3ff635cfb84c072ba68650525f275
2015-08-30 11:37:04 -06:00
Josh Matthews
e97b25662a servo: Merge #7432 - Add dashed CSS properties in CSSStyleDeclaration (from jdm:dashedprops); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 940bcadc134d1cf123518bebd84635b0053d6858
2015-08-30 08:20:57 -06:00
Corey Farwell
2d6351b526 servo: Merge #7439 - Prefer JSTrue/JSFalse to 1/0 (from frewsxcv:jsfalse-jstrue); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 67cbda4be35a63222553ca806d475581030bea4e
2015-08-28 22:15:21 -06:00
Anthony Ramine
c327bc7867 servo: Merge #7416 - Make the traits for the IDL interfaces take &self (from nox:methods-ref); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: 71b277d5675556e61a82ae9dbf3105449c3a8275
2015-08-27 15:08:41 -06:00
David Rajchenbach-Teller
d56115cce8 servo: Merge #7387 - Fixes #2240 - NamedGetter and NamedSetter do not assume that the arg is named name (from Yoric:2240-2); r=Ms2ger
I'm not totally sure about how to test this.

Source-Repo: https://github.com/servo/servo
Source-Revision: a897795dabf8d84c2da2935c54346a75987bcec5
2015-08-27 00:38:46 -06:00
Manish Goregaokar
672b1a1667 servo: Merge #7395 - Document InheritTypes (from Manishearth:doc-inherit); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 98728a6c751a8959459f80286833152e21fa6cfc
2015-08-26 20:56:02 -06:00
Manish Goregaokar
8c0333b4f1 servo: Merge #7397 - Remove doublepointer in VirtualMethods, and from_borrowed_ref (from Manishearth:doublepointer-meet-fire); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 48945b0fc1b1f1bee77f6cb30ac10e17614ef283
2015-08-26 15:01:12 -06:00
Corey Farwell
815476c7cf servo: Merge #7315 - Don't use is operatory to compare Python strings (from frewsxcv:python-is); r=SimonSapin
`is` checks identity. `==` checks value. I can't think of a reason why
we would want the former in these scenarios.

More info:

* http://stackoverflow.com/a/1504742
* https://docs.python.org/2/reference/expressions.html#is

Source-Repo: https://github.com/servo/servo
Source-Revision: 60140ad2942ae5d73c22963775b8f7529965fdb4
2015-08-22 09:26:34 -06:00
Corey Farwell
38ac5971e8 servo: Merge #7305 - Utilize Python context managers for opening/closing files (from frewsxcv:python-context-managers); r=Ms2ger
In some of these cases, files were not being closed

Source-Repo: https://github.com/servo/servo
Source-Revision: 3a48e04caffa4ba25854a4190883d1985845a359
2015-08-21 09:30:06 -06:00
Corey Farwell
7fb2f8eb04 servo: Merge #7254 - Initial implementation of ownPropertyKeys proxy handler (from frewsxcv:own-property-keys); r=Ms2ger
Generates `SupportedPropertyNames` on DOM structs that should implement
it. Most of them are unimplemented now (which can be implemented in
later PRs), with the exception of `HTMLCollection`. Also added a couple
relevant WPT tests.

Closes #6390

Closes #2215

Source-Repo: https://github.com/servo/servo
Source-Revision: d2a8c278eaa159ceacffee767523d4ad0cf83da2
2015-08-20 10:00:44 -06:00
Anthony Ramine
3c5a2d72f0 servo: Merge #7230 - Support required dictionary members (fixes #7216) (from nox:required-dictionary-member); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: ef98e574297ed738f3b117c128bc578f623a35d5
2015-08-18 12:58:09 -06:00
Anthony Ramine
f79b4bd4b2 servo: Merge #7236 - Fix dictionary member conversion failure (fixes #7231) (from nox:dictionary-failure-code); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: a2978f2add3a9c828b7bb701cb2d04318e5c0b45
2015-08-16 06:39:56 -06:00
Anthony Ramine
ea3b1cdfb8 servo: Merge #7233 - Support default values for restricted float members (fixes #7217) (from nox:default-float-value); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 55e755e35ac8622a80cbebe3395aae44a0239b4f
2015-08-15 10:59:44 -06:00
Corey Farwell
1b3761b963 servo: Merge #7199 - Prefer if..let over if..is_some..unwrap in codegen (from frewsxcv:codegen-if-let); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 2e1ca10eeaf6a62326c1b864345f624ed2974a52
2015-08-13 15:35:21 -06:00
Corey Farwell
9ea1ff0919 servo: Merge #7196 - Avoid marking codegen method bodies as unsafe twice (from frewsxcv:double-unsafe); r=jdm
`CGAbstractMethod` takes a couple boolean parameters, among others:

* `extern`: will mark the method as `unsafe` and `extern`
* `unsafe`: will wrap the method body in an `unsafe` block

Passing both as `True` should not mark it as `unsafe` twice.

Example from a generated `HTMLCollectionBinding.rs`:

Before:

```
unsafe extern fn get_length(..) -> u8 {
    unsafe {
        // code here
    }
}
```

After

```
unsafe extern fn get_length(..) -> u8 {
    // code here
}
```

Source-Repo: https://github.com/servo/servo
Source-Revision: 289decb064b44937f570fdc299de9af961296dd6
2015-08-13 15:00:37 -06:00
Corey Farwell
975ba6831a servo: Merge #6993 - Remove dead Python code in binding generating code (from frewsxcv:rm-dead-codegen); r=Ms2ger
Fixes #6956

Source-Repo: https://github.com/servo/servo
Source-Revision: 9ed2df3de704261399942b82a047a6a757501d53
2015-08-07 04:51:31 -06:00
Josh Matthews
2f1aaef81d servo: Merge #6874 - Start reporting memory usage for Window and all nodes in all DOM tree… (from jdm:domreporting); r=njn
…s for frame treese in script tasks.

This underreports by a significant amount, since only Document, Window and CharacterData (ie. text) nodes are fully represented. That being said, every HTML element in the tree is measured, but only counted as a Node. It's easy to improve this, it just requires adding the appropriate HeapSizeOf derives and increasing the granularity of `measure_memory_for_eventtarget`. google.com shows a dom-tree value of 0.24 MB for me at the moment.

r? @nnethercote

Source-Repo: https://github.com/servo/servo
Source-Revision: 84e25befdd97cf74fb00707dbe150d59d980e977
2015-08-03 21:24:41 -06:00
Ms2ger
cb152d0eb4 servo: Merge #6846 - Remove an obsolete comment I missed in #6804 (from Ms2ger:2661-comment); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: c5060fce9fa6e4b5b06ffd76d1e52bb74d00461c
2015-07-30 06:10:56 -06:00
Ms2ger
e4397aa49e servo: Merge #6809 - Remove unrooted_must_root annotation from unions (fixes #2661) (from Ms2ger:unrooted_must_root); r=metajack
The unsafety was fixed as part of the SpiderMonkey upgrade; this removes the
now unused annotation.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7adc336aaacfb5e544a9c8c4e0387afa457e5d72
2015-07-29 13:20:20 -06:00
Akos Kiss
b185c71656 servo: Merge #6718 - Add aarch64-unknown-linux-gnu support (from akosthekiss:aarch64-support); r=jdm
* Adding dependencies
* Replacing `i8` with `libc::c_char` to build properly on platforms
  where char is unsigned.

Source-Repo: https://github.com/servo/servo
Source-Revision: b386d7ae444af868907b9faff44e8432469160bd
2015-07-23 17:17:18 -06:00
snf
062b7d8932 servo: Merge #6582 - Add Clamp and EnforceRange support for webidl arguments (from servo:clamp-enforce-range); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 36d732a60a39140806b4113d58a6b00e6b1931da
2015-07-22 11:03:05 -06:00
Corey Farwell
a5ddc4d3c6 servo: Merge #6592 - Use NotImplementedError for Python base class methods (from frewsxcv:notimplementederror); r=Ms2ger
From the Python docs:

https://docs.python.org/2/library/exceptions.html#exceptions.NotImplementedError

"In user defined base classes, abstract methods should raise this
exception when they require derived classes to override the method."

Source-Repo: https://github.com/servo/servo
Source-Revision: a9f12da4f8a48daa197ff8bbc2021009fe6e2711
2015-07-21 11:28:21 -06:00
Ms2ger
2fa4baeb5d servo: Merge #6621 - Move away from the repeat().take().collect() pattern (from Ms2ger:repeat); r=SimonSapin
This was the preferred pattern between the deprecation of Vec::from_elem and
the addition of the count argument to the vec![] macro.

Source-Repo: https://github.com/servo/servo
Source-Revision: 556c0e1509cb48b90f492bcf0f25d0ed14b015d1
2015-07-14 02:42:26 -06:00
Corey Farwell
78f93158a2 servo: Merge #6580 - Remove tidy blacklist for 'script/dom/bindings/*' (from frewsxcv:lint-codegen); r=Ms2ger
Recently, I found myself reading through the Python codegen scripts that
live in 'components/script/dom/bindings/*' and noticed that there were
many tidy violations: unnecessary semicolons, weird spacing, unused
variables, lack of license headers, etc. Considering these files are now
living in our tree and mostly maintained directly by contributors of
Servo (as opposed to being from upstream), I feel these files should not
be excluded from our normal tidy process. This commit removes the
blacklist on these files and fixes all tidy violations.

I added these subdirectories to the blacklist because they appear to be
maintained upstream somewhere else:

* "components/script/dom/bindings/codegen/parser/*",
* "components/script/dom/bindings/codegen/ply/*",

Also, I added a few '# noqa' comments which tells us to ignore the
flake8 errors for that line; they are mostly for unused/undefined
variables. I chose to ignore these (instead of fixing them) to make the
work for this commit simpler for me.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2d2a340633dcc73e458a8454b78e26ba93511d37
2015-07-09 07:55:27 -06:00
Ms2ger
d7892fb4aa servo: Merge #6549 - Remove *Cast::from_actual (from Ms2ger:from_actual); r=nox
Since JSRef was removed, from_actual duplicates from_ref.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0298c92670bee90c06f98fac2e8469d1238d1bd4
2015-07-03 22:56:17 -06:00
David Winslow
b9c1f245a1 servo: Merge #6529 - Refactor #[jstraceable] to #[derive(JSTraceable)] (from dwins:master); r=Manishearth
fixes #6524.  I had to make an additional change not mentioned in the ticket - adding the `#[feature]` to enable deriving custom traits but I assume that's expected at this time.

Source-Repo: https://github.com/servo/servo
Source-Revision: bbb39082e0f640400546d2084a450a8675820a82
2015-07-01 18:27:40 -06:00
Mukilan Thiyagarajan
54306745e4 servo: Merge #6496 - CGImports must consider special operations to generate required 'use' items (from mukilan:fix_import_codegen); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: b7923547a77a2d887805ba67f688d297e34647c1
2015-06-27 07:51:37 -06:00
Ms2ger
4ac16d06ff servo: Merge #6469 - Use Rc::get_mut rather than deprecated rc::get_mut (from Ms2ger:rc-mut); r=saneyuki
Source-Repo: https://github.com/servo/servo
Source-Revision: ef97879c273e9eed3b4dece07813c2d4e6eb2c38
2015-06-26 09:26:55 -06:00
Ms2ger
99cf771646 servo: Merge #6464 - Use Box::into_raw rather than boxed::into_raw (from Ms2ger:into_raw); r=saneyuki
The latter is deprecated.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9eb3cc2a241dff4df57d644fa5257fcf3a52325f
2015-06-26 04:50:54 -06:00
Joel Teichroeb
c23dfd93eb servo: Merge #6110 - Implement Named constructors and the Image constructor for HTMLImageElement (from klusark:NamedConstructor); r=Ms2ger
I'm not sure if I like how I mostly just duplicated the code in CodegenRust.py, so that might need to be refactored.

Instead of just calling it Image, we might want to call it ConstructorImage, to make it clear that it's a constructor. Anyone have an opinion on that?

There seems to be a bug in the HTMLImageElement getter/setter as the value is 0 regardless of what I do. This seems to be unrelated to my commits, so I'll investigate that separately.

Source-Repo: https://github.com/servo/servo
Source-Revision: 57cc84b2935c429c92774649275625a7fd63973c
2015-06-25 02:18:06 -06:00
Anthony Ramine
e6ba88516e servo: Merge #6223 - Merge generic funs to share them across all bindings (fixes #2684) (from nox:merge-generic-functions); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 6247a96761279979412fb49fa4fbca2fd9a82e1b
2015-06-24 03:54:56 -06:00
Michael Wu
7512d04e93 servo: Merge #6150 - Upgrade to Spidermonkey 39 (from servo:smupgrade3); r=mbrubeck
> Here it is.
>
> ~~There's two major things that are unfinished here:~~
> - ~~Dealing with the unroot_must_root lint. I'm not sure about the value of this lint with the new rooting API.~~ Done.
> - ~~Updating the Cargo.locks to point to the new SM and SM binding.~~ Done.
>
> I also included my fixes for the rust update, but these will disappear in a rebase. A rust update is necessary to support calling `Drop` on `Heap<T>` correctly when `Heap<T>` is inside a `Rc<T>`. Otherwise `&self` points to the wrong location.
>
> Incremental GC is disabled here. I'm not sure how to deal with the incremental barriers so that's left for later.
>
> Generational GC works. SM doesn't work without it.
>
> The biggest change here is to the rooting API. `Root` was made movable, and `Temporary` and `JSRef` was removed. Movable `Root`s means there's no need for `Temporary`, and `JSRef`s aren't needed generally since it can be assumed that being able to obtain a reference to a dom object means it's already rooted. References have their lifetime bound to the Roots that provided them. DOM objects that haven't passed through `reflect_dom_object` don't need to be rooted, and DOM objects that have passed through `reflect_dom_object` can't be obtained without being rooted through `native_from_reflector_jsmanaged` or `JS::<T>::root()`.
>
> Support for `Heap<T>` ended up messier than I expected. It's split into two commits, but only because it's a bit difficult to fold them together. Supporting `Heap<T>` properly requires that that `Heap::<T>::set()` be called on something that won't move. I removed the Copy and Clone trait from `Heap<T>` so `Cell` can't hold `Heap<T>` - only `UnsafeCell` can hold it.
>
> `CallbackObject` is a bit tricky - I moved all callbacks into `Rc<T>` in order to make sure that the pointer inside to a `*mut JSObject` doesn't move. This is necessary for supporting `Heap<T>`.
>
> `RootedCollectionSet` is very general purpose now. Anything with `JSTraceable` can be rooted by `RootedCollectionSet`/`RootedTraceable`. Right now, `RootedTraceable` is only used to hold down dom objects before they're fully attached to their reflector. I had to make a custom mechanism to dispatch the trace call - couldn't figure out how to get trait objects working for this case.
>
> This has been tested with the following zeal settings:
>
> GC after every allocation
> JS_GC_ZEAL=2,1
>
> GC after every 100 allocations (important for catching use-after-free bugs)
> JS_GC_ZEAL=2,100
>
> Verify pre barriers
> JS_GC_ZEAL=4,1
>
> Verify post barriers
> JS_GC_ZEAL=11,1

Source-Repo: https://github.com/servo/servo
Source-Revision: e7808c526c348fea5e3b48af70b7f1a066652097
2015-06-19 16:46:55 -06:00
Jack Moffitt
85fd686b68 servo: Merge #6408 - Generate code into OUT_DIR (from metajack:script-outdir); r=SimonSapin
This is necessary to ensure Cargo knows when to rebuild. Normally
.gitignore would be enough to exclude these from Cargo's freshness
calculation, but https://github.com/rust-lang/cargo/issues/1729 prevents
this currently. This is the new, correct way to do these thigns, just
like the style crate does.

Source-Repo: https://github.com/servo/servo
Source-Revision: ff59e1b8de67f1988522d6b6e6c4adda957fad5b
2015-06-17 16:36:05 -06:00
Ms2ger
758ff53bd9 servo: Merge #6378 - TreeWalker-acceptNode-filter.html fixes (from Ms2ger:callable); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 24af4c4ec638b0484c8acacdf7cb9acb87da24ff
2015-06-14 12:17:21 -06:00
Mukilan Thiyagarajan
d0d7a0e325 servo: Merge #6319 - Fix codegen for overload resolution. Fixes #6300 (from mukilan:overload-codegen); r=Ms2ger
The cause of the issue is that the index of the overload to be invoked was being derived from the wrong lists (that contain only a subset of the overloads)  - `possibleOverloads` and `interfaceSigs` rather than the `method.signatures()` (which contains all possible overloads).

Source-Repo: https://github.com/servo/servo
Source-Revision: b46ab0c60d53461d639c74d9c6b39d0c6c2d78c9
2015-06-10 03:50:42 -06:00
Daniel Le
40dcea91f9 servo: Merge #6299 - Avoid casting in the callers (from GreenRecycleBin:#6271); r=Ms2ger
get_proto_or_iface_array now returns *mut ProtoOrIfaceArray

Fix #6271

Source-Repo: https://github.com/servo/servo
Source-Revision: ca6a34a1cdf3b74f9eab04cf6ff914e47b37b640
2015-06-07 10:47:14 -05:00
Brian Anderson
72f556065f servo: Merge #6297 - Convert inline(always) to inline in CodegenRust and jstraceable (from brson:inline); r=jdm
This results in a 14% compile time improvement.

See https://gist.github.com/brson/b48dd03b06c406be68e6

I'm not suggesting you merge this as-is, but you might consider whether removing some of these is worth pursuing.

Source-Repo: https://github.com/servo/servo
Source-Revision: 78665336e6a3d57e43610365f52ce038ba0d9e8b
2015-06-06 08:25:29 -05:00
Josh Matthews
c4cc28789a servo: Merge #6247 - Trace the prototype array on the global object (from jdm:tracefix); r=Ms2ger
This should allow the jQuery testsuite to complete.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9edc296c46b05606c74920a42ba0effb5c953db0
2015-06-03 05:26:26 -05:00
ecoal95
73d5e20fe6 servo: Merge #6183 - Add WebGLContextAttributes support (from emilio:webglcontextattributes); r=nox
r? @jdm

I couldn't add the `getContextAttributes` method since `CodegenRust`
doesn't know how to return a dictionary value, I'll take a look at it ASAP.

I think the helper functions can return directly the renderer, since they're used just for that, but I wanted to hear your opinions about this.

By the way I'm interested in adding more serious tests for WebGL, and I think the [khronos conformance suit](https://github.com/KhronosGroup/WebGL/tree/master/conformance-suites/1.0.3) should be the best option.

Should I try to integrate it in wpt, or making a `tests/webgl` directory (or similar) inside the servo tree? (Maybe this question should be for @Ms2ger)

Source-Repo: https://github.com/servo/servo
Source-Revision: 0de09b936e5e37c15b7865157a98ad78b1077659
2015-06-01 08:37:48 -05:00
Philipp Hartwig
5fd9e25365 servo: Merge #6179 - Use byte string instead of handcrafted byte array (from aopicier:byte_strings); r=jdm
Fixes #3257
In eventtarget.rs I'm not sure whether ARG_NAMES actually needs to be static!?

Source-Repo: https://github.com/servo/servo
Source-Revision: 999325460ecc71b02160e8c79e71a694987d9acd
2015-05-25 17:13:27 -05:00
Anthony Ramine
cf915bf9ce servo: Merge #5902 - Fix length value of interface methods (from nox:length); r=jdm
Blocked by https://github.com/w3c/testharness.js/pull/124.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8faa9f877df67ad6bced9b5ec4ae580c042bfa45
2015-05-14 13:37:10 -05:00
Anthony Ramine
b5ec349295 servo: Merge #5894 - Implement WebIDL attribute PutForwards (from nox:putforwards); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 29a43a00b39e544596e3bcce9bdfca2159313ba5
2015-05-07 09:07:12 -05:00
Anthony Ramine
55930d5b87 servo: Merge #5896 - Properly generate proxy stringifiers (from nox:stringifier-proxy); r=jdm
The proxy stringifiers called through {}.toString.call() (obj_toString) shouldn't use the stringifier.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2c177794408bfbb5f8d6042f38639a5cba5eb2e5
2015-04-30 04:33:32 -05:00
Ms2ger
33e1b9c8ab servo: Merge #5888 - Prepare for the rustup (from Ms2ger:prepare-rustup); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: ab2d07db1fabd7ad9590aa7296038bbc91806c3f
2015-04-28 17:52:49 -05:00
snf
758d239681 servo: Merge #5845 - Fix defineProperty codegen (from snf:defineProperty_fix); r=jdm
This patch should get rid of #5223.

Source-Repo: https://github.com/servo/servo
Source-Revision: 01925f0f8f65be177e0c2d9bab14b091bf67b220
2015-04-28 07:51:31 -05:00
Anthony Ramine
39e9571d13 servo: Merge #5871 - Cleanup JS traits and methods (from nox:rootable); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b8ae33e510ea30e3200834fc2f7fbc426b86701e
2015-04-28 04:23:05 -05:00
Manish Goregaokar
e158f4fca9 servo: Merge #5855 - Add move protection to Root and friends (from Manishearth:nomove); r=kmc,munksgaard
fixes #5724, #5737


uses https://github.com/Manishearth/rust-tenacious (can be moved in-tree if needed)

I can make it `Deny` by default too (I'll add a cargo feature to tenacious), though we might want it on
`Warn` until we get some mileage on it.

Source-Repo: https://github.com/servo/servo
Source-Revision: d7987e43c944eb9b156bf3244c08fce4cb570db4
2015-04-27 23:14:25 -05:00
Anthony Ramine
ba829d0432 servo: Merge #5850 - Fix generation of nullary callbacks (from nox:nullary-callbacks); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 92359c7b9addfe7ee161760aad20368bafd76c26
2015-04-27 08:42:42 -05:00
Anthony Ramine
d4b6a6316e servo: Merge #5852 - Remove unsafe transmute functions in JS and LayoutJS (from nox:rm-unsafe-transmute); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 56a7981c9c9c6df30fbb3add3d8d0085916fe313
2015-04-26 14:40:31 -05:00
Anthony Ramine
6c157bacf0 servo: Merge #5779 - Implement the CSS interface (from nox:css-escape); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 1f9de5ee2ce4dc039b01e575d60a4fee41a0b8b8
2015-04-25 05:42:41 -05:00
Ms2ger
7b37ef8efe servo: Merge #5801 - Stop using the deprecated range function (from Ms2ger:range); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 43e664cda1dd562935fe5e4fdd92e5abcf6fb8f9
2015-04-22 18:24:21 -05:00
Chris Paris
c3c824224f servo: Merge #3726 - Support callback interfaces with constants (from ChrisParis:callback-constants); r=jdm
This addresses https://github.com/servo/servo/issues/3149. The immediate purpose is to support the constants in NodeFilter. The changes mostly follow the current Gecko Codegen.py. The main gist is that the generation of certain code artifacts is now gated by hasInterfaceObject() or hasInterfacePrototypeObject(), rather than by isCallback().

Source-Repo: https://github.com/servo/servo
Source-Revision: 1f9c2f9b34dede8182f45655b03380f8c26f3475
2015-04-13 14:34:39 -05:00
Josh Matthews
60287419bd servo: Merge #5633 - Clean up CGImports a bit more (from jdm:codegencleanup); r=Ms2ger
r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: b019df892790cba347ba848d0e72e3c24a311c18
2015-04-12 03:37:05 -05:00
Josh Matthews
9127cd8cb9 servo: Merge #5619 - Remove glob import from generated bindings. Fixes #1788 (from jdm:bindglob); r=Manishearth
r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: 596091e32c1577e2d77fa0ab0750280d9fe51f5d
2015-04-10 04:41:46 -05:00
Anthony Ramine
eeb520dd32 servo: Merge #5611 - Cleanup CharacterData (from nox:cleanup-characterdata); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 51dd6984f7cc292d77b2330d404ffcff34981214
2015-04-09 10:10:20 -05:00
Ms2ger
916ace51f1 servo: Merge #5564 - Cleanup some JS conversions (from Ms2ger:FromJSValConvertible); r=saneyuki
Source-Repo: https://github.com/servo/servo
Source-Revision: 71e07013ded2dd168bfc3be4db79bebe230786ef
2015-04-08 06:09:56 -05:00
Ms2ger
3dea48290b servo: Merge #5569 - Implement support for object in IDL (from Ms2ger:object); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3fb666cf606f835a9ab9165339e34023ab83a358
2015-04-07 13:32:02 -05:00
Anthony Ramine
685ac5ef7e servo: Merge #5541 - Use Temporary values in node iterators (from nox:node-iterators-temporary); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e57630711fed229cb9c939aa31619f42aa62651e
2015-04-07 10:22:10 -05:00
Ms2ger
82f444e9cd servo: Merge #5511 - Stop using int/uint in script (from Ms2ger:int); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 036b3eaa04fc4d94b8fd29a9c8e0f6020f55d23d
2015-04-03 13:54:46 -06:00
Tetsuharu OHZEKI
5bf2fed53e servo: Merge #5346 - Add bindings support for unrestricted float values (from saneyuki:binding); r=jdm
- Fix #707
- Take over from #5106

Source-Repo: https://github.com/servo/servo
Source-Revision: e77c4e2d76104855c42d1eee09caf36b61acccad
2015-03-25 01:09:47 -06:00
Tim Cuthbertson
b25ea3bb55 servo: Merge #5282 - Free the interface prototype array when Window is finalized (from timbertson:finalize_global); r=Ms2ger
Fixes #1871

I thought I'd take a look at this for a first contribution to servo. A couple of things I'm not 100% sure on are:

1) `get_proto_or_iface_array` returns a `*mut *mut JSObj`, which I'm assuming is really an array of pointers to `JSObj`s. So dropping its return value will drop the memory for the array of pointers. Do we also need to drop each element, or is that handled by GC?

2) Are there any tests I need to add for this? I don't know if there are existing leak tests, or if leaks are mostly discovered by profiling.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8998edb912b4f6efea7b2ff4e707325d7c03488c
2015-03-20 07:54:48 -06:00
Ms2ger
16387caff8 servo: Merge #5208 - Implement USVString (from Ms2ger:USVString); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 19cd87aefc24fa153fa013b5f96ae46de9a427fd
2015-03-13 14:30:49 -06:00
Ms2ger
afc3b1285b servo: Merge #5206 - Pre rustup codegen cleanup (from Ms2ger:pre-rustup-codegen-cleanup); r=jdm,SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: c05de08630c50446cb15e42f4948fae6039e7271
2015-03-13 08:42:49 -06:00
Chris Double
76b2c425eb servo: Merge #5202 - Fix #2108 by renaming unwrap functions to native_from_reflector (from doublec:rename_unwrap); r=Ms2ger
Fix for issue #2108. That issue mentions an `unwrap_object` which doesn't seem to exist so I renamed `unwrap` to `native_from_reflector` and `unwrap_jsmanaged` to `native_from_reflector_jsmanaged`. The latter is a bit unweildy - maybe a shorter name might be better?

Source-Repo: https://github.com/servo/servo
Source-Revision: d7e9b8b96b77377fa37fd59cdb8c44fa866b5b2e
2015-03-12 01:51:49 -06:00
Josh Matthews
6ff0a01710 servo: Merge #5118 - Async document loads (from jdm:pageload); r=Ms2ger
Rebased and improved version of #4967.

Source-Repo: https://github.com/servo/servo
Source-Revision: 72f8898990f06e7f505eeaf9cfa671740c60395d
2015-03-03 16:03:45 -07:00
Ms2ger
f10e3ac24e servo: Merge #5110 - Fix string default values (from Ms2ger:defaultvalue-strings); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 2f3697f5f346cac7578883f452735d50b832c986
2015-03-02 12:57:59 -07:00
Ms2ger
1e32ac8466 servo: Merge #5103 - Use the correct lifetime bounds for FooCast::from_actual (from Ms2ger:from_actual); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 184d32b519f1c5daf7dda164c9179e6c8ddc0919
2015-02-28 13:33:49 -07:00
Ms2ger
093e8fa985 servo: Merge #5099 - Cleanup our exception story (from Ms2ger:exceptions); r=saneyuki
Source-Repo: https://github.com/servo/servo
Source-Revision: 5eaf1144c327272e18584db9cf047d8bb2b53eed
2015-02-28 11:09:55 -07:00
Chris Manchester
4e33e62e67 servo: Merge #5094 - Add support for BinaryName attribute to servo's codegen (fixes #4435) (from chmanchester:binarynames); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1f53d30f858a71206fce01116a3b1e5c199c1648
2015-02-28 09:57:58 -07:00
Ms2ger
1bc0663206 servo: Merge #5100 - Fix a typo in argument_type (from Ms2ger:descriptorProvdider); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: b84f620b26b5dd14cb4a92bf428c5c722a6f6eb4
2015-02-28 08:45:54 -07:00
Ms2ger
a9f76e032c servo: Merge #5017 - Mark some unused arguments as unused in bindings (from Ms2ger:unused-args); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3ea09bf2ea8db621107abbc8b358f1c0ce0ffea4
2015-02-22 10:15:47 -07:00
Ms2ger
2379d5a154 servo: Merge #5015 - Only unwrap the object once when finalizing (from Ms2ger:finalize); r=jdm
Previously, we had 'value' and 'this' locals, both storing a pointer to the
DOM object, for no good reason.

Source-Repo: https://github.com/servo/servo
Source-Revision: 92620c0a5f3bf01ddfb2f52fb89cdc467ff4a761
2015-02-22 08:36:49 -07:00
Chris Manchester
d6b0936869 servo: Merge #4882 - Stringifiers (from chmanchester:stringifiers); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 172db80703fc19ff078f2f46fb299cadd99a483b
2015-02-20 13:01:02 -07:00
Ms2ger
8fa61151a1 servo: Merge #4979 - Audit ints and uints in script (from Ms2ger:audit-ints); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 276f74b1ddec9dfa4cb053eb0802f95bd5ed6b66
2015-02-20 07:09:54 -07:00
Ms2ger
88fd138436 servo: Merge #4978 - Use the try macro to initialize dictionaries (from Ms2ger:try-dicts); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 45a0e0e65c0d104c3e29f6521b11b4285cde58d2
2015-02-20 05:54:53 -07:00
Ms2ger
39813e1fef servo: Merge #4961 - Remove the Option<Self> arguments from IDLInterface (from Ms2ger:IDLInterface); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 1e2d6c5a2d6ffe54d610858d786cda421180cb63
2015-02-19 03:15:52 -07:00
Prabhjyot Singh Sodhi
1468fc2d06 servo: Merge #4918 - Porting Gecko's JSToNativeConversionInfo changes to Servo's codegen (from psdh:conversion); r=Ms2ger
Fixes #4800

Source-Repo: https://github.com/servo/servo
Source-Revision: 2e4f343aeae23a0fd3d9c5307778dec9b2e8ea21
2015-02-18 12:15:56 -07:00
Ms2ger
4e8c547103 servo: Merge #4936 - Replace the FooCast traits by structs (from Ms2ger:InheritTypes); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: ec42c01fba1188ef965ce9cbce59b22767c3c2fd
2015-02-15 17:18:48 -07:00
Ms2ger
d9ad6619e6 servo: Merge #4935 - Improve the formatting for FromJSValConvertible implementations in UnionTypes (from Ms2ger:UnionTypes); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 05db1a449908152495523b11b280acca338bb320
2015-02-15 15:36:48 -07:00
Ms2ger
c897ff19a3 servo: Merge #4910 - Replace squirrel_away_unique by boxed::into_raw (from Ms2ger:squirrel); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 69259e9975a0383d309b7ce678734c49e6616d32
2015-02-12 14:48:50 -07:00
Ms2ger
200c888b80 servo: Merge #4836 - Implement an Unrooted smart pointer to replace JS when it is not traced (from Ms2ger:unrooted); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 7d32ece0bf3cdfbeb98e106ec6daca5a5f4385bc
2015-02-06 04:36:44 -07:00
Ms2ger
2d4d3b187f servo: Merge #4817 - Remove the to_js methods (from Ms2ger:to_js); r=jdm
They are unused.

Source-Repo: https://github.com/servo/servo
Source-Revision: bc448f158b73206c916cb0205ca9c5a59a70c37b
2015-02-03 08:18:52 -07:00
Tetsuharu OHZEKI
39edf77177 servo: Merge #4613 - Stop using JS<T> in layout (from saneyuki:layoutjs); r=jdm
#4571

Source-Repo: https://github.com/servo/servo
Source-Revision: 462940fc2a2ba76794f37d9a6ac5af8da454aa66
2015-01-31 16:24:48 -07:00
Manish Goregaokar
42e079751b servo: Merge #4792 - Fix code dependent on old impl check (from Manishearth:old_impl); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 83e196c4c6a761757d821abfd1ab539704d22454
2015-01-31 04:27:49 -07:00
Ms2ger
648a6278e6 servo: Merge #4781 - Use some more snake case in the DOM (from Ms2ger:snake-dom); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: be31f850839219ffc9653278a0d6f55d48e059d9
2015-01-30 11:45:52 -07:00
Ms2ger
4488e6c0b8 servo: Merge #4773 - Use snake case for the remaining bindings functions (from Ms2ger:snake-bindings); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 648b4991b967cfe297a333624fa05b4de2e56be3
2015-01-30 07:00:50 -07:00
Ms2ger
03faddf314 servo: Merge #4772 - Use snake case for bindings utils functions (from Ms2ger:snake-utils); r=jdm
This is the Rust style, and there's no reason to deviate here.

Source-Repo: https://github.com/servo/servo
Source-Revision: d026457fdde615bd3185abeda0e844bd42a7805a
2015-01-29 11:45:56 -07:00
Ms2ger
23beb77c9c servo: Merge #4771 - Use snake case for proxyhandler functions (from Ms2ger:snake-proxy); r=jdm
This is the Rust style, and there's no reason to deviate here.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8f351cdc3209c0be2e02b9d08fef502eb7aa04ec
2015-01-29 09:39:50 -07:00
Ms2ger
3cee792603 servo: Merge #4766 - Import the util crate as util rather than servo_util (from Ms2ger:util); r=Manishearth
This used to conflict with the util crate from the standard library, which
has long since been removed.

The import in layout has not been changed because of a conflict with the
util mod there.

Source-Repo: https://github.com/servo/servo
Source-Revision: 27e0f16407629422b5e047e067d458142372c97e
2015-01-29 05:12:49 -07:00
Josh Matthews
78741af324 servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3f9012864a2cd927cf17a8e11dfa6922add1b7df
2015-01-27 18:15:50 -07:00
Ms2ger
190438fa42 servo: Merge #4682 - Move to to_owned rather than into_string (from servo:to_owned); r=jdm
into_string has been removed from Rust.

Source-Repo: https://github.com/servo/servo
Source-Revision: 94ebc7c32d5ce58ada3f9d8ffdb60cc025eb5997
2015-01-20 07:54:46 -07:00