aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/codegen/Configuration.py
Commit message (Collapse)AuthorAgeFilesLines
* Update MPL license to https (part 3)Jan Andre Ikenmeyer2018-11-191-1/+1
|
* Use 2018-style paths in generated DOM bindingsSimon Sapin2018-11-061-6/+6
|
* Update the WebIDL parserAnthony Ramine2018-04-031-2/+0
|
* Import sequence inner types if it appears in dictionary membersKeith Yeung2017-11-081-2/+8
|
* Rename Root<T> to DomRoot<T>Anthony Ramine2017-09-261-1/+1
| | | | | | | 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.
* Generate GetConstructorObject for all interfacesConnor Brewster2017-06-131-1/+5
|
* Remove unused Descriptor.needsRooting field.Ms2ger2017-02-081-3/+0
|
* Don't generate constructor IDs for inline interfacesAnthony Ramine2017-01-031-0/+2
|
* Implement [Inline] interfacesAnthony Ramine2016-10-061-2/+9
| | | | | Inline interfaces just appear as a Rust type and in the TypeId hierarchy. They are completely invisible on the JS side.
* Ensure Promise "reflector" is not GCed before the Rust object.Josh Matthews2016-09-221-1/+2
|
* Implement binding support for returning and accepting Promises in WebIDL.Josh Matthews2016-09-221-2/+10
|
* Implement WebIDL namespacesAnthony Ramine2016-09-081-7/+15
|
* Implement pair iterators in WebIDL interfaces.Josh Matthews2016-08-241-2/+26
|
* Support multiple WebIDL interfaces being generated in the same output ↵Josh Matthews2016-08-241-4/+10
| | | | | | | | | | | | | binding file. Each interface gets its own module named ${Interface}Binding. Structs, enums, and callbacks continue to use the root module of the binding file. If there is only one interface in the file, we generate reexports for several public APIs and types so that existing DOM implementations don't need any modifications. When multiple interfaces exist, the reexported names get the interface name prepended (eg. FooWrap instead of Wrap). As part of this work, stop glob-importing all DOM types in every generated binding and start generating more targeted lists of relevant types based on the methods, members, etc. of WebIDL types that are in use.
* Generate a list of supported DOM APIs from parsed WebIDLs.Josh Matthews2016-07-151-0/+2
|
* Implement the [Exposed] extended attribute on interfaces.Ms2ger2016-07-121-0/+2
| | | | Fixes #2823.
* Make sure that Descriptor.isGlobal() returns a bool.Ms2ger2016-07-121-2/+2
|
* Support WindowProxy return values in bindingsJansen Jan2016-06-091-4/+6
| | | | unscopable
* Forbid unconditionally-exposed interfaces that inherit from ↵Josh Matthews2016-05-021-0/+6
| | | | conditionally-exposed ones.
* Support controlling the visibility of WebIDL interfaces via the Pref annotation.Josh Matthews2016-04-291-0/+3
|
* Use os.path.basename instead of split('/')[-1]Zbynek Winkler2016-04-171-1/+3
| | | | Fixes #10596.
* Cache legacy callback interface objects in proto_or_icache_arrayAnthony Ramine2016-02-251-0/+4
| | | | | We need them to be cached to not instantiate them multiple times with lazy initialisation.
* generate typedefs in CodegenRustPrabhjyot Singh Sodhi2016-01-261-0/+4
|
* Introduce Descriptor.prototypeDepthAnthony Ramine2016-01-121-0/+1
|
* Auto merge of #8993 - nox:small-codegen-slimming, r=Ms2gerbors-servo2015-12-181-1/+1
|\ | | | | | | | | | | | | | | | | | | 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 -->
| * Link [Abstract] to the existing concrete descriptor fieldAnthony Ramine2015-12-161-1/+1
| | | | | | | | | | | | 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.
* | Remove all our local patches to the WebIDL parserAnthony Ramine2015-12-151-1/+10
|/ | | | | All the tweaks we need can just be made through Configuration.py, and [Abstract] is being submitted upstream by Ms2ger.
* Implement [Unforgeable]Anthony Ramine2015-12-021-0/+10
| | | | | | | | | | | | | | | | | | | | | | 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. Given the unforgeable holder object has the same prototype as actual instances of the interface, the finalize hook needs to check its slot pointer for nullity before dropping it. The new failing test isn't related to Unforgeable attributes, but to the fact that all Document instances currently have a Location, even if their window isn't in a browsing context.
* Introduce trait WeakReferenceableAnthony Ramine2015-11-121-0/+1
| | | | This allows to take weak references of JS-managed DOM objects.
* Support variadic interface arguments (fixes #8159)Anthony Ramine2015-11-111-3/+1
| | | | | We use a RootedVec value in codegen, of which we use the `r()` method to pass `&[&T]` to the interface methods.
* Generate the TypeId enums in codegenAnthony Ramine2015-10-141-0/+8
|
* Don't generate useless InheritTypes interfacesAnthony Ramine2015-10-021-2/+2
| | | | | Interfaces with no descendant need neither a Base trait nor upcast functions, and interfaces with no ancestors neither a Derived trait nor downcast functions.
* Remove deprecated 'creator' WebIDL attributeCorey Farwell2015-09-211-2/+0
| | | | According to @Ms2ger, the 'creator' attribute was merged into 'setter'
* Move EventTargetTypeId/NodeTypeId to DOMClassMichael Wu2015-09-121-1/+2
|
* Add infrastructure for supporting dashed CSS property names on ↵Josh Matthews2015-08-281-0/+7
| | | | CSSStyleDeclaration.
* Remove dead Python code in binding generating codeCorey Farwell2015-08-051-13/+0
| | | | Fixes #6956
* Remove tidy blacklist for 'script/dom/bindings/*'Corey Farwell2015-07-091-11/+23
| | | | | | | | | | | | | | | | | | | | | 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 '# noqa' comment which tells us to ignore the flake8 errors for that line. I chose to ignore this (instead of fixing it) to make the work for this commit simpler for me.
* Upgrade to SM 39Michael Wu2015-06-191-4/+4
|
* Properly generate proxy stringifiersAnthony Ramine2015-04-291-1/+1
|
* Support callback interfaces with constants.Chris Paris2015-04-111-2/+3
|
* Add support for BinaryName attribute to servo's codegen (fixes #4435) r=jdmChris Manchester2015-02-271-0/+17
|
* Add stringifier method support to CodegenRust.py (fixes #1986)Chris Manchester2015-02-201-27/+32
| | | | | | Add a stringifier to URLUtils (Location). (fixes #4605) wpt metadata updates for #4605
* Implement an Unrooted smart pointer to replace JS when it is not traced.Ms2ger2015-02-061-1/+1
|
* Remove the 'b lifetime from Root.Ms2ger2015-01-011-1/+1
| | | | | It does not add any safety, as the reference is constructed from a raw pointer without limiting the lifetime in any way.
* Remove the 'a lifetime from Root.Ms2ger2015-01-011-1/+1
| | | | | It does not add any safety, as the reference is constructed from a raw pointer without limiting the lifetime in any way.
* Remove warning from 'deleter' WebIDL codegenBruno de Oliveira Abinader2014-11-061-3/+0
|
* Remove support for {return,native,concrete}Type overrides in Bindings.conf.Ms2ger2014-10-101-5/+10
| | | | | We have no reason to support non-default type names, and this commit corrects the computations for callbacks (which needed the override until now).
* Cargoify servoJack Moffitt2014-09-081-0/+341