mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 963321 part 2. Add codegen support for [Cached] dictionary attributes. r=khuey
This commit is contained in:
parent
8ad668ddf4
commit
da001d4b79
@ -5245,7 +5245,7 @@ if (!${obj}) {
|
||||
else:
|
||||
preserveWrapper = ""
|
||||
if self.idlNode.getExtendedAttribute("Frozen"):
|
||||
assert self.idlNode.type.isSequence()
|
||||
assert self.idlNode.type.isSequence() or self.idlNode.type.isDictionary()
|
||||
freezeValue = CGGeneric(
|
||||
"JS::Rooted<JSObject*> rvalObj(cx, &args.rval().toObject());\n"
|
||||
"if (!JS_FreezeObject(cx, rvalObj)) {\n"
|
||||
|
@ -603,6 +603,14 @@ public:
|
||||
|
||||
// Dictionary tests
|
||||
void PassDictionary(JSContext*, const Dict&);
|
||||
void GetReadonlyDictionary(JSContext*, Dict&);
|
||||
void GetReadonlyNullableDictionary(JSContext*, Nullable<Dict>&);
|
||||
void GetWritableDictionary(JSContext*, Dict&);
|
||||
void SetWritableDictionary(JSContext*, const Dict&);
|
||||
void GetReadonlyFrozenDictionary(JSContext*, Dict&);
|
||||
void GetReadonlyFrozenNullableDictionary(JSContext*, Nullable<Dict>&);
|
||||
void GetWritableFrozenDictionary(JSContext*, Dict&);
|
||||
void SetWritableFrozenDictionary(JSContext*, const Dict&);
|
||||
void ReceiveDictionary(JSContext*, Dict&);
|
||||
void ReceiveNullableDictionary(JSContext*, Nullable<Dict>&);
|
||||
void PassOtherDictionary(const GrandparentDict&);
|
||||
|
@ -549,6 +549,18 @@ interface TestInterface {
|
||||
attribute byte attributeRenamedFrom;
|
||||
|
||||
void passDictionary(optional Dict x);
|
||||
[Cached, Pure]
|
||||
readonly attribute Dict readonlyDictionary;
|
||||
[Cached, Pure]
|
||||
readonly attribute Dict? readonlyNullableDictionary;
|
||||
[Cached, Pure]
|
||||
attribute Dict writableDictionary;
|
||||
[Cached, Pure, Frozen]
|
||||
readonly attribute Dict readonlyFrozenDictionary;
|
||||
[Cached, Pure, Frozen]
|
||||
readonly attribute Dict? readonlyFrozenNullableDictionary;
|
||||
[Cached, Pure, Frozen]
|
||||
attribute Dict writableFrozenDictionary;
|
||||
Dict receiveDictionary();
|
||||
Dict? receiveNullableDictionary();
|
||||
void passOtherDictionary(optional GrandparentDict x);
|
||||
|
@ -445,6 +445,18 @@ interface TestExampleInterface {
|
||||
attribute byte attributeRenamedFrom;
|
||||
|
||||
void passDictionary(optional Dict x);
|
||||
[Cached, Pure]
|
||||
readonly attribute Dict readonlyDictionary;
|
||||
[Cached, Pure]
|
||||
readonly attribute Dict? readonlyNullableDictionary;
|
||||
[Cached, Pure]
|
||||
attribute Dict writableDictionary;
|
||||
[Cached, Pure, Frozen]
|
||||
readonly attribute Dict readonlyFrozenDictionary;
|
||||
[Cached, Pure, Frozen]
|
||||
readonly attribute Dict? readonlyFrozenNullableDictionary;
|
||||
[Cached, Pure, Frozen]
|
||||
attribute Dict writableFrozenDictionary;
|
||||
Dict receiveDictionary();
|
||||
Dict? receiveNullableDictionary();
|
||||
void passOtherDictionary(optional GrandparentDict x);
|
||||
|
@ -467,6 +467,20 @@ interface TestJSImplInterface {
|
||||
attribute byte attributeRenamedFrom;
|
||||
|
||||
void passDictionary(optional Dict x);
|
||||
[Cached, Pure]
|
||||
readonly attribute Dict readonlyDictionary;
|
||||
// No support for nullable dictionary return values here yet
|
||||
// [Cached, Pure]
|
||||
// readonly attribute Dict? readonlyNullableDictionary;
|
||||
[Cached, Pure]
|
||||
attribute Dict writableDictionary;
|
||||
[Cached, Pure, Frozen]
|
||||
readonly attribute Dict readonlyFrozenDictionary;
|
||||
// No support for nullable dictionary return values here yet
|
||||
// [Cached, Pure, Frozen]
|
||||
// readonly attribute Dict? readonlyFrozenNullableDictionary;
|
||||
[Cached, Pure, Frozen]
|
||||
attribute Dict writableFrozenDictionary;
|
||||
Dict receiveDictionary();
|
||||
// No support for nullable dictionary return values here yet
|
||||
// Dict? receiveNullableDictionary();
|
||||
|
Loading…
Reference in New Issue
Block a user