Restrict v8 property lookup to the execution context
authorMatthew Vogt <matthew.vogt@nokia.com>
Fri, 23 Mar 2012 04:16:43 +0000 (14:16 +1000)
committerQt by Nokia <qt-info@nokia.com>
Mon, 27 Aug 2012 03:17:13 +0000 (05:17 +0200)
commit965588737321d10fd1fbca3f89b4c6257b7b5d47
tree95d069b6ce910c4f8bf8f71d50bebc4fe35a6b1f
parent4a161cfa0cf9167b575bdf7ff5685b9bf17c6960
Restrict v8 property lookup to the execution context

When resolving property names, only properties known to the current
context of execution should be available.  If a property name has
been overriden by a component extension, code executing in the
context of the base component should resolve the property name to
the property available inside the base component or its bases.

Task-number: QTBUG-24891
Change-Id: I9687cc28e108226d5a939627a901c8254344b598
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Reviewed-by: Martin Jones <martin.jones@nokia.com>
29 files changed:
src/qml/debugger/qqmlenginedebugservice.cpp
src/qml/qml/ftw/qflagpointer_p.h
src/qml/qml/ftw/qhashedstring.cpp
src/qml/qml/ftw/qhashedstring_p.h
src/qml/qml/qqmlcompiler.cpp
src/qml/qml/qqmlcontext.cpp
src/qml/qml/qqmllist.cpp
src/qml/qml/qqmlproperty.cpp
src/qml/qml/qqmlpropertycache.cpp
src/qml/qml/qqmlpropertycache_p.h
src/qml/qml/qqmlvmemetaobject_p.h
src/qml/qml/v4/qv4bindings.cpp
src/qml/qml/v4/qv4irbuilder.cpp
src/qml/qml/v8/qv8contextwrapper.cpp
src/qml/qml/v8/qv8qobjectwrapper.cpp
src/qml/qml/v8/qv8qobjectwrapper_p.h
src/qml/qml/v8/qv8typewrapper.cpp
src/qml/qml/v8/qv8valuetypewrapper.cpp
tests/auto/qml/qqmlecmascript/data/BaseComponent2.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/fallbackBindings.2.qml
tests/auto/qml/qqmlecmascript/data/fallbackBindings.7.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/fallbackBindings.8.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/data/propertyOverride.qml [new file with mode: 0644]
tests/auto/qml/qqmlecmascript/testtypes.cpp
tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp
tests/auto/qml/qqmllanguage/data/MyBaseComponent.qml [new file with mode: 0644]
tests/auto/qml/qqmllanguage/data/scopedProperties.qml [new file with mode: 0644]
tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
tests/auto/qml/qqmlpropertycache/tst_qqmlpropertycache.cpp