Skip to content
  • oliver@apple.com's avatar
    Refactor PutPropertySlot to be aware of custom properties · 6884841a
    oliver@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=126187
    
    Reviewed by Antti Koivisto.
    
    Source/JavaScriptCore:
    
    Refactor PutPropertySlot, making the constructor take the thisValue
    used as a target.  This results in a wide range of boilerplate changes
    to pass the new parameter.
    
    * API/JSObjectRef.cpp:
    (JSObjectSetProperty):
    * dfg/DFGOperations.cpp:
    (JSC::DFG::operationPutByValInternal):
    * interpreter/Interpreter.cpp:
    (JSC::Interpreter::execute):
    * jit/JITOperations.cpp:
    * llint/LLIntSlowPaths.cpp:
    (JSC::LLInt::LLINT_SLOW_PATH_DECL):
    * runtime/Arguments.cpp:
    (JSC::Arguments::putByIndex):
    * runtime/ArrayPrototype.cpp:
    (JSC::putProperty):
    (JSC::arrayProtoFuncPush):
    * runtime/JSCJSValue.cpp:
    (JSC::JSValue::putToPrimitiveByIndex):
    * runtime/JSCell.cpp:
    (JSC::JSCell::putByIndex):
    * runtime/JSFunction.cpp:
    (JSC::JSFunction::put):
    * runtime/JSGenericTypedArrayViewInlines.h:
    (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex):
    * runtime/JSONObject.cpp:
    (JSC::Walker::walk):
    * runtime/JSObject.cpp:
    (JSC::JSObject::putByIndex):
    (JSC::JSObject::putDirectNonIndexAccessor):
    (JSC::JSObject::deleteProperty):
    * runtime/JSObject.h:
    (JSC::JSObject::putDirect):
    * runtime/Lookup.h:
    (JSC::putEntry):
    (JSC::lookupPut):
    * runtime/PutPropertySlot.h:
    (JSC::PutPropertySlot::PutPropertySlot):
    (JSC::PutPropertySlot::setCustomProperty):
    (JSC::PutPropertySlot::thisValue):
    (JSC::PutPropertySlot::isCacheable):
    
    Source/WebCore:
    
    Update the bindings code generation and custom objects
    to the new function signatures
    
    * bindings/js/JSDOMWindowCustom.cpp:
    (WebCore::JSDOMWindow::put):
    * bindings/objc/WebScriptObject.mm:
    (-[WebScriptObject setValue:forKey:]):
    * bindings/scripts/CodeGeneratorJS.pm:
    (GenerateImplementation):
    * bindings/scripts/test/JS/JSTestInterface.cpp:
    (WebCore::JSTestInterface::putByIndex):
    * bridge/NP_jsobject.cpp:
    (_NPN_SetProperty):
    
    Source/WebKit/mac:
    
    Update for new method signatures.
    
    * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
    (WebKit::NetscapePluginInstanceProxy::setProperty):
    
    Source/WebKit2:
    
    Update for new method signatures.
    
    * WebProcess/Plugins/Netscape/NPJSObject.cpp:
    (WebKit::NPJSObject::setProperty):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161220 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    6884841a