Commit graph

763 commits

Author SHA1 Message Date
bors-servo
e977a6e69a Auto merge of #8954 - nox:protochain, r=Ms2ger
Fix prototypes of interface objects (fixes #2665)

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.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8954)
<!-- Reviewable:end -->
2016-01-12 22:00:47 +05:30
Anthony Ramine
d13da7d9b3 Fix prototypes of interface objects (fixes #2665) 2016-01-12 17:15:44 +01:00
Anthony Ramine
a1a9021aad Inline create_constructor into its only caller 2016-01-12 17:15:43 +01:00
Anthony Ramine
e1d3e4df2a Describe non-callback interface objects with JSClass structures
JS_NewFunction doesn't allow us to set the prototype of the interface objects.
2016-01-12 17:15:42 +01:00
Anthony Ramine
2957a56ad3 Bump rust-mozjs to 4d384eb830d8d53c1268e8ce37135ace21e41721 2016-01-12 17:15:29 +01:00
bors-servo
53c4a782a0 Auto merge of #9255 - ckimes89:remove-globalfield, r=nox
Remove global fields from DOM objects

Fixes #9227

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9255)
<!-- Reviewable:end -->
2016-01-12 18:32:37 +05:30
Anthony Ramine
d52948dfd5 Introduce Descriptor.prototypeDepth 2016-01-12 12:34:18 +01:00
Anthony Ramine
7693aecf15 Use the object prototype for callback interface objects
window.NodeFilter's prototype should be the object prototype.
2016-01-12 12:34:18 +01:00
Anthony Ramine
833e0d2fac Refactor prototype initialisation
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.
2016-01-12 12:34:18 +01:00
Anthony Ramine
967948be06 Remove NativePropertyHooks 2016-01-12 12:34:18 +01:00
Bobby Holley
dec296ddbc Use features to prevent the util component from entraining the world in GeckoLib builds. 2016-01-11 19:38:43 -08:00
Chad Kimes
ce6075825d Add global default method for Reflectable trait 2016-01-11 20:23:47 -05:00
GauriGNaik
907322c666 Final steps 2016-01-11 18:48:54 +05:30
Chad Kimes
2703568227 Remove unused enum GlobalField 2016-01-10 22:46:38 -05:00
bors-servo
85792d2819 Auto merge of #9200 - frewsxcv:unnecessary-sorting-functions, r=nox
Remove unneeded dict sorting functions in CodegenRust.py

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9200)
<!-- Reviewable:end -->
2016-01-11 02:41:42 +05:30
Corey Farwell
d63c9d79d3 Remove unneeded dict sorting functions in CodegenRust.py 2016-01-10 12:20:46 -05:00
rohan.prinja
1f02c4ebbb task -> thread 2016-01-10 17:58:13 +09:00
Corey Farwell
62a0cac3c0 Remove unused command-line Python codegen arguments 2016-01-07 08:51:06 -05:00
Emilio Cobos Álvarez
d30f05554b conversions: Make a is_type_compatible method for ArrayBufferViews. 2016-01-04 15:51:01 +01:00
Emilio Cobos Álvarez
43d395a682 conversions: Add a checked version to array_buffer_view_data 2016-01-04 15:29:24 +01:00
Emilio Cobos Álvarez
9ad49c8aa1 conversion: Extrapolate array_buffer_view_data
And use it instead of the raw jsapi calls.
2016-01-04 15:19:29 +01:00
Guillaume Gomez
99ac1a81cc Generate PartialEq automatically 2016-01-03 18:07:09 +01:00
Johannes Linke
6b215f38ee Fix a bunch of clippy lints 2016-01-02 23:27:15 +01:00
Joe Kachmar
655268d111 Separate script and layout messages, issue #8843 2015-12-26 12:24:51 -05:00
bors-servo
89ab368258 Auto merge of #8506 - nox:finish-ranges, r=dzbarsky
Properly propagate changes when range or trees are mutated

Does the same thing as #6817, but storing Range instances directly in their start and end containers.

Cc @dzbarsky

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8506)
<!-- Reviewable:end -->
2015-12-26 04:08:15 +05:30
Anthony Ramine
3c76835615 Properly propagate changes when range or trees are mutated 2015-12-25 23:35:57 +01:00
bors-servo
8dc4b8dcb9 Auto merge of #8993 - nox:small-codegen-slimming, r=Ms2ger
Slightly reduce the output of codegen

Interfaces which we know are never instantiated can generate less code.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8993)
<!-- Reviewable:end -->
2015-12-18 06:35:15 +05:30
bors-servo
d1ea209f0f Auto merge of #8996 - nox:rm-empty-modules, r=frewsxcv
Do not create modules from files with nothing to codegen (fixes #8711)

Fixes #8711.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8996)
<!-- Reviewable:end -->
2015-12-16 21:06:37 +05:30
Corey Farwell
1dee779d45 Delete GenerateCSS2PropertiesWebIDL.py 2015-12-16 09:12:56 -05:00
bors-servo
9c4ca39ebe Auto merge of #8055 - nox:rm-webidl-patches, r=Ms2ger
Remove all our patches to the WebIDL parser

All the tweaks we need can just be made through Configuration.py.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8055)
<!-- Reviewable:end -->
2015-12-16 15:19:25 +05:30
Anthony Ramine
2522cfe539 Do not create modules from files with nothing to codegen (fixes #8711) 2015-12-16 01:17:06 +01:00
Anthony Ramine
372da02a42 Link [Abstract] to the existing concrete descriptor field
This makes codegen not emit anything strictly related to the interface which
are never used in the case of abstract interfaces, such as the Wrap method
or the DOMJSClass.
2015-12-16 00:42:15 +01:00
Anthony Ramine
05e456d0d2 Do not export GetProtoObject if the interface has no descendants 2015-12-16 00:39:22 +01:00
Anthony Ramine
561fdbb150 Merge CGClassConstructHook and CGClassNameConstructHook (fixes #8934) 2015-12-15 23:55:06 +01:00
Anthony Ramine
c1718a0b1f Update WebIDL parser 2015-12-15 23:24:16 +01:00
Anthony Ramine
06947965b1 Remove all our local patches to the WebIDL parser
All the tweaks we need can just be made through Configuration.py, and
[Abstract] is being submitted upstream by Ms2ger.
2015-12-15 23:06:35 +01:00
Guillaume Gomez
14a22953dd Fix invalid returned value for dictionary types 2015-12-15 18:26:35 +01:00
Guillaume Gomez
4c99a85c73 Fix invalid dictionary inheritance 2015-12-14 00:53:21 +01:00
bors-servo
8bab1cd7a4 Auto merge of #8854 - KiChjang:undefined-as-missing, r=frewsxcv
Treat 'undefined' passed to optional JS arguments as missing

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

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8854)
<!-- Reviewable:end -->
2015-12-13 10:41:56 +05:30
Keith Yeung
db92a8b030 Treat undefined arguments in JS as missing 2015-12-12 21:13:29 -08:00
Arthur Skobara
8acb21a594 Remove from Trusted::new an unnecessary argument 2015-12-12 22:31:19 +06:00
Ms2ger
b7b5c79787 Rename the browsercontext module. 2015-12-11 15:27:27 -05:00
bors-servo
e71ec40462 Auto merge of #8918 - Ms2ger:trace, r=nox
Initialize the slots of global objects before a possible GC.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8918)
<!-- Reviewable:end -->
2015-12-11 11:21:55 +05:30
Ms2ger
b353d70f44 Initialize the slots of global objects before a possible GC. 2015-12-10 12:08:42 -05:00
Tomas Cernaj
5507be2653 Move ScriptMsg from msg crate into script_traits 2015-12-09 20:50:11 +01:00
bors-servo
59029325c0 Auto merge of #8827 - jdm:debugmozjscrash, r=Ms2ger
Avoid a null-dereference using debug mozjs builds. This matches the e…

…quivalent code upstream in Gecko.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8827)
<!-- Reviewable:end -->
2015-12-08 12:11:53 +05:30
Josh Matthews
30d1ff6abc Avoid a null-dereference using debug mozjs builds. This matches the equivalent code upstream in Gecko. 2015-12-07 14:58:00 -05:00
bors-servo
02f4be9c9f Auto merge of #8862 - fstr:move_workerid, r=Ms2ger
Moved WorkerId type to devtools_traits

Fixes #8846.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8862)
<!-- Reviewable:end -->
2015-12-08 00:53:40 +05:30
Florian Strübe
b81f712ce1 Moved WorkerId type to devtools_traits 2015-12-07 20:11:26 +01:00
Keith Yeung
8d90034d29 Split fn script_chan into 5 different task channel fn 2015-12-06 12:12:14 -08:00