summaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4object_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2018-06-19 12:07:40 +0200
committerLars Knoll <lars.knoll@qt.io>2018-06-25 07:36:44 +0000
commit3823e9b94f849f8344b81250fac708ac2eaccd16 (patch)
treeffe4ce6f2df01889501b4c4e45b8241d02d973f5 /src/qml/jsruntime/qv4object_p.h
parent4094ce77af45427613e823a2a4d3c6087230d35a (diff)
Support preventExtensions in Proxy handlers
Change-Id: I03aaacc260bdb46eb09c597598a45fbb25d6d7b6 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4object_p.h')
-rw-r--r--src/qml/jsruntime/qv4object_p.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/qml/jsruntime/qv4object_p.h b/src/qml/jsruntime/qv4object_p.h
index a9851984e1..b55e8f25e2 100644
--- a/src/qml/jsruntime/qv4object_p.h
+++ b/src/qml/jsruntime/qv4object_p.h
@@ -178,6 +178,7 @@ struct ObjectVTable
bool (*hasProperty)(const Managed *m, Identifier id);
PropertyAttributes (*getOwnProperty)(Managed *m, Identifier id, Property *p);
bool (*isExtensible)(const Managed *);
+ bool (*preventExtensions)(Managed *);
qint64 (*getLength)(const Managed *m);
void (*advanceIterator)(Managed *m, ObjectIterator *it, Value *name, uint *index, Property *p, PropertyAttributes *attributes);
ReturnedValue (*instanceOf)(const Object *typeObject, const Value &var);
@@ -198,6 +199,7 @@ const QV4::ObjectVTable classname::static_vtbl = \
hasProperty, \
getOwnProperty, \
isExtensible, \
+ preventExtensions, \
getLength, \
advanceIterator, \
instanceOf \
@@ -304,6 +306,7 @@ struct Q_QML_EXPORT Object: Managed {
void insertMember(StringOrSymbol *s, const Property *p, PropertyAttributes attributes);
bool isExtensible() const { return vtable()->isExtensible(this); }
+ bool preventExtensions() { return vtable()->preventExtensions(this); }
// Array handling
@@ -441,6 +444,7 @@ protected:
static bool hasProperty(const Managed *m, Identifier id);
static PropertyAttributes getOwnProperty(Managed *m, Identifier id, Property *p);
static bool isExtensible(const Managed *m);
+ static bool preventExtensions(Managed *);
static void advanceIterator(Managed *m, ObjectIterator *it, Value *name, uint *index, Property *p, PropertyAttributes *attributes);
static qint64 getLength(const Managed *m);
static ReturnedValue instanceOf(const Object *typeObject, const Value &var);