[gjs] Created tag 1.49.90
- From: Philip Chimento <pchimento src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gjs] Created tag 1.49.90
- Date: Mon, 7 Aug 2017 23:03:41 +0000 (UTC)
The unsigned tag '1.49.90' was created.
Tagger: Philip Chimento <philip endlessm com>
Date: Tue Aug 8 01:02:54 2017 +0200
Version 1.49.90
- New API: GObject.registerClass(), intended for use with ES6 classes. When
defining a GObject class using ES6 syntax, you must call
GObject.registerClass() on the class object, with an optional metadata
object as the first argument. (The metadata object works exactly like the
meta properties from Lang.Class, except that Name and Extends are not
present.)
Old:
var MyClass = new Lang.Class({
Name: 'MyClass',
Extends: GObject.Object,
Signals: { 'event': {} },
_init(props={}) {
this._private = [];
this.parent(props);
},
});
New:
var MyClass = GObject.registerClass({
Signals: { 'event': {} },
}, class MyClass extends GObject.Object {
_init(props={}) {
this._private = [];
super._init(props);
}
});
It is forward compatible with the following syntax requiring decorators and
class fields, which are not in the JS standard yet:
@GObject.registerClass
class MyClass extends GObject.Object {
static [GObject.signals] = { 'event': {} }
_init(props={}) {
this._private = [];
super._init(props);
}
}
One limitation is that GObject ES6 classes can't have constructor()
methods, they must do any setup in an _init() method. This may be able to be
fixed in the future.
- Closed bugs:
* Misc 1.49 and mozjs52 enhancements [#785040, Philip Chimento]
* Switch to native promises [#784713, Philip Chimento]
* Can't call exports using top-level variable toString [#781623, Philip
Chimento]
* Properties no longer recognized when shadowed by a method [#785091, Philip
Chimento, Rico Tzschichholz]
* Patch: backport of changes required for use with mozjs-55 [#785424, Luke
Jones]
Changes since the last tag '1.49.4':
Philip Chimento (21):
build: Post-release version bump
build: Use 'always inline' macro in more places
js: Use correct autoptr in gjs_string_to_filename()
function: Better message about call during GC
promise: Move to native promises
promise: Report unhandled rejections
context: Properly create const strings array
importer: Give module objects a [Symbol.toStringTag]
object: Keep proper track of pending closure invalidations
release: Include NEWS from 1.48.6
object: Don't let a method shadow a property
Revert "js: Workaround for function with custom prototype"
Revert "build: Allow compiling without RTTI"
lang: Move all legacy Lang.Class code
class: Move to ES6 classes in internal code
GObject: Move all legacy GObject class code
GObject: Adapt GObject class framework to ES6
class: Move to ES6 GObject classes in internal code
tests: Add ES6 class inheriting from legacy class
build: Fix distcheck
release: Prepare for 1.49.90
luke nukem jones gmail com (2):
Backport of patch required for JSObject compare to nullptr
Backport of patch required for vectors MOZ_MUST_USE returns
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]