Native Bindings Descriptors are Incomplete
https://bugs.webkit.org/show_bug.cgi?id=140575
<rdar://problem/19506502>

Reviewed by Oliver Hunt.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that a lot more checks are passing.

* web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/html/dom/interfaces-expected.txt:

Source/JavaScriptCore:

This patch is based on initial work by Joe Pecoraro and Matthew Mirman.

This patch was initially rolled out for breaking chromeexperiments.com,
presumably because our IDL attributes were not marked as [configurable]
at the time. However, since r190104, our IDL attributes are now
configurable. Based on local testing, chromeexperiments.com seems to be
working fine now.

* JavaScriptCore.xcodeproj/project.pbxproj:
* inspector/InjectedScriptSource.js:
(endsWith):
(InjectedScript.prototype.processProperties):
* runtime/JSBoundSlotBaseFunction.cpp: Added.
(JSC::boundSlotBaseFunctionCall):
(JSC::JSBoundSlotBaseFunction::JSBoundSlotBaseFunction):
(JSC::JSBoundSlotBaseFunction::create):
(JSC::JSBoundSlotBaseFunction::visitChildren):
(JSC::JSBoundSlotBaseFunction::finishCreation):
* runtime/JSBoundSlotBaseFunction.h: Added.
(JSC::JSBoundSlotBaseFunction::createStructure):
(JSC::JSBoundSlotBaseFunction::boundSlotBase):
(JSC::JSBoundSlotBaseFunction::customGetterSetter):
(JSC::JSBoundSlotBaseFunction::isSetter):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::boundSlotBaseFunctionStructure):
* runtime/JSObject.cpp:
(JSC::getBoundSlotBaseFunctionForGetterSetter):
(JSC::JSObject::getOwnPropertyDescriptor):
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:

LayoutTests:

Add test coverage.

* http/tests/security/cross-origin-window-property-access-expected.txt: Added.
* http/tests/security/cross-origin-window-property-access.html: Added.
* inspector/runtime/getProperties-expected.txt:
* js/dom/native-bindings-descriptors-expected.txt: Added.
* js/dom/native-bindings-descriptors.html: Added.
* js/dom/native-bindings-descriptors2-expected.txt: Added.
* js/dom/native-bindings-descriptors2.html: Added.
* js/dom/native-bindings-descriptors3-expected.txt: Added.
* js/dom/native-bindings-descriptors3.html: Added.
* js/dom/native-bindings-descriptors4-expected.txt: Added.
* js/dom/native-bindings-descriptors4.html: Added.
* js/dom/native-bindings-descriptors5-expected.txt: Added.
* js/dom/native-bindings-descriptors5.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@196001 268f45cc-cd09-0410-ab3c-d52691b4dbfc
32 files changed