2010-01-12 Kent Hansen <[email protected]>
Reviewed by Geoffrey Garen.
[ES5] Implement Object.getOwnPropertyNames
https://bugs.webkit.org/show_bug.cgi?id=32242
Add an extra argument to getPropertyNames() and getOwnPropertyNames()
(and all reimplementations thereof) that indicates whether non-enumerable
properties should be added.
- API/JSCallbackObject.h:
- API/JSCallbackObjectFunctions.h:
(JSC::::getOwnPropertyNames):
- JavaScriptCore.exp:
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
- debugger/DebuggerActivation.cpp:
(JSC::DebuggerActivation::getOwnPropertyNames):
- debugger/DebuggerActivation.h:
- runtime/Arguments.cpp:
(JSC::Arguments::getOwnPropertyNames):
- runtime/Arguments.h:
- runtime/CommonIdentifiers.h:
- runtime/JSArray.cpp:
(JSC::JSArray::getOwnPropertyNames):
- runtime/JSArray.h:
- runtime/JSByteArray.cpp:
(JSC::JSByteArray::getOwnPropertyNames):
- runtime/JSByteArray.h:
- runtime/JSFunction.cpp:
(JSC::JSFunction::getOwnPropertyNames):
- runtime/JSFunction.h:
- runtime/JSNotAnObject.cpp:
(JSC::JSNotAnObject::getOwnPropertyNames):
- runtime/JSNotAnObject.h:
- runtime/JSObject.cpp:
(JSC::getClassPropertyNames):
(JSC::JSObject::getPropertyNames):
(JSC::JSObject::getOwnPropertyNames):
- runtime/JSObject.h:
- runtime/JSVariableObject.cpp:
(JSC::JSVariableObject::getOwnPropertyNames):
- runtime/JSVariableObject.h:
- runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::ObjectConstructor):
(JSC::objectConstructorGetOwnPropertyNames):
- runtime/RegExpMatchesArray.h:
(JSC::RegExpMatchesArray::getOwnPropertyNames):
- runtime/StringObject.cpp:
(JSC::StringObject::getOwnPropertyNames):
- runtime/StringObject.h:
- runtime/Structure.cpp: Rename getEnumerablePropertyNames() to getPropertyNames(), which takes an extra argument.
(JSC::Structure::getPropertyNames):
- runtime/Structure.h:
(JSC::):
2010-01-12 Kent Hansen <[email protected]>
Reviewed by Geoffrey Garen.
[ES5] Implement Object.getOwnPropertyNames
https://bugs.webkit.org/show_bug.cgi?id=32242
Add new argument to the reimplementation of getOwnPropertyNames().
- UserObjectImp.cpp:
(UserObjectImp::getOwnPropertyNames):
- UserObjectImp.h:
2010-01-12 Kent Hansen <[email protected]>
Reviewed by Geoffrey Garen.
[ES5] Implement Object.getOwnPropertyNames
https://bugs.webkit.org/show_bug.cgi?id=32242
Add tests for Object.getOwnPropertyNames(o), both standard usage and cross origin.
- fast/js/Object-getOwnPropertyNames-expected.txt: Added.
- fast/js/Object-getOwnPropertyNames.html: Added.
- fast/js/script-tests/Object-getOwnPropertyNames.js: Added.
- http/tests/security/cross-frame-access-enumeration-expected.txt:
- http/tests/security/cross-frame-access-enumeration.html:
2010-01-12 Kent Hansen <[email protected]>
Reviewed by Geoffrey Garen.
[ES5] Implement Object.getOwnPropertyNames
https://bugs.webkit.org/show_bug.cgi?id=32242
Add new argument to reimplementations of getPropertyNames()
and getOwnPropertyNames(), and update the JS bindings generator.
Test: fast/js/Object-getOwnPropertyNames.html
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getPropertyNames):
(WebCore::JSDOMWindow::getOwnPropertyNames):
- bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::getPropertyNames):
(WebCore::JSDOMWindowShell::getOwnPropertyNames):
- bindings/js/JSDOMWindowShell.h:
- bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::getOwnPropertyNames):
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::getOwnPropertyNames):
- bindings/js/JSQuarantinedObjectWrapper.cpp:
(WebCore::JSQuarantinedObjectWrapper::getPropertyNames):
(WebCore::JSQuarantinedObjectWrapper::getOwnPropertyNames):
- bindings/js/JSQuarantinedObjectWrapper.h:
- bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::getOwnPropertyNames):
- bindings/scripts/CodeGeneratorJS.pm:
- bridge/runtime_array.cpp:
(JSC::RuntimeArray::getOwnPropertyNames):
- bridge/runtime_array.h:
- bridge/runtime_object.cpp:
(JSC::RuntimeObjectImp::getPropertyNames):
(JSC::RuntimeObjectImp::getOwnPropertyNames):
- bridge/runtime_object.h: