void WebFrame::addToJSWindowObject(const char* name, void *object) { JSC::JSLock lock(false); JSDOMWindow *window = toJSDOMWindow(core(this)); if (!window) return; JSC::Bindings::RootObject *root = core(this)->script()->bindingRootObject(); JSC::ExecState* exec = window->globalExec(); JSC::PropertySlot pr; if (!window->getOwnPropertySlot(exec, JSC::Identifier(exec, name), pr)) { //printf("addToJSWindowObject %p name =%s ok \n", core(this), name); //JSC::JSObject *runtimeObject = JSC::Bindings::Instance::createRuntimeObject(exec, JSC::Bindings::BalInstance::create(static_cast<BalObject*>(object), root)); JSC::JSObject *runtimeObject = JSC::Bindings::Instance::createRuntimeObject(exec, JSC::Bindings::BalInstance::getBalInstance(static_cast<BalObject*>(object), root)); JSC::PutPropertySlot prop; window->put(exec, JSC::Identifier(exec, name), runtimeObject, prop); } }