=== Safari-521.19 === 2006-07-19 Geoffrey Garen Fixed by Darin & Maciej, reviewed by me. - Fixed Leopard 9A227: Installer crashes right after LCA and while preparing Installation Compile release/production with NDEBUG set, to ensure binary compatibility between JavaScriptGlue and JavaScriptCore. In debug builds, JavaScriptCore includes an extra debug data member in HashSet. * JavaScriptGlue.xcodeproj/project.pbxproj: === Safari-521.18 === 2006-07-15 Maciej Stachowiak Reviewed by Darin. - switch property lists to be vector+set of Identifiers instead of list of References * JSUtils.cpp: (KJSValueToCFTypeInternal): updated for JSC SPI changes * JSValueWrapper.cpp: (JSValueWrapper::JSObjectCopyPropertyNames): ditto * UserObjectImp.cpp: (UserObjectImp::getPropertyNames): ditto * UserObjectImp.h: === Safari-521.17 === 2006-07-14 Geoffrey Garen Reviewed by Maciej. - Updated JSInterpreter to work with Interpreter ref-counting in JavaScriptCore. (JSInterpreter::JSInterpreter::~JSInterpreter): Now protected to catch manual delete. 2006-07-12 Anders Carlsson Build fix * JSUtils.cpp: (KJSValueToCFTypeInternal): * JSValueWrapper.cpp: (JSValueWrapper::JSObjectCopyPropertyNames): * UserObjectImp.cpp: (UserObjectImp::getPropertyList): === Safari-521.15 === 2006-07-07 Geoffrey Garen - build fix * JSUtils.cpp: (KJSValueToCFTypeInternal): * JSValueWrapper.cpp: (JSValueWrapper::JSObjectCopyPropertyNames): 2006-07-03 Geoffrey Garen Reviewed by Maciej. * JSRun.cpp: (JSRun::CheckSyntax): Updated to use new checkSyntax syntax in JSC. * JavaScriptGlue.xcodeproj/project.pbxproj: === Safari-521.14 === 2006-06-28 Timothy Hatcher Prefer the Stabs debugging symbols format until DWARF bugs are fixed. * JavaScriptGlue.xcodeproj/project.pbxproj: 2006-06-24 David Kilzer Reviewed by Timothy. * Info.plist: Fixed copyright to include 2003-2006. === JavaScriptGlue-521.13 === 2006-06-20 Geoffrey Garen Reviewed by Anders. - Required for JS API: Rename propList to getPropertyList and have it take its target property list by reference so that subclasses can add properties to the list before calling through to their superclasses. * JSUtils.cpp: (KJSValueToCFTypeInternal): * JSValueWrapper.cpp: (JSValueWrapper::JSObjectCopyPropertyNames): * UserObjectImp.cpp: (UserObjectImp::getPropertyList): * UserObjectImp.h: 2006-06-15 Timothy Hatcher Reviewed by Geoff and Darin. Prefer the DWARF debugging symbols format for use in Xcode 2.3. * JavaScriptGlue.xcodeproj/project.pbxproj: 2006-06-12 Geoffrey Garen Reviewed by TimO, Maciej. - JSGlue part of merging InterpreterImp into Interpreter. Since there's now a kjs forwarding header, I moved all forwarding headers into a "ForwardingHeaders" directory, like in WebCore. * ForwardingHeaders: Added. * ForwardingHeaders/kjs: Added. * ForwardingHeaders/kjs/ExecState.h: Added. * ForwardingHeaders/wtf: Added. * JavaScriptGlue.xcodeproj/project.pbxproj: * config.h: * wtf: Removed. * wtf/AlwaysInline.h: Removed. * wtf/Assertions.h: Removed. * wtf/FastMalloc.h: Removed. * wtf/Forward.h: Removed. * wtf/HashCountedSet.h: Removed. * wtf/HashSet.h: Removed. * wtf/Noncopyable.h: Removed. * wtf/OwnArrayPtr.h: Removed. * wtf/OwnPtr.h: Removed. * wtf/PassRefPtr.h: Removed. * wtf/Platform.h: Removed. * wtf/RefPtr.h: Removed. * wtf/Vector.h: Removed. === JavaScriptGlue-521.10 === 2006-05-09 Maciej Stachowiak Rubber stamped by Anders. - renamed kxmlcore to wtf kxmlcore --> wtf KXMLCore --> WTF KXC --> WTF * config.h: * kxmlcore: Removed. * kxmlcore/AlwaysInline.h: Removed. * kxmlcore/Assertions.h: Removed. * kxmlcore/FastMalloc.h: Removed. * kxmlcore/Forward.h: Removed. * kxmlcore/HashCountedSet.h: Removed. * kxmlcore/HashSet.h: Removed. * kxmlcore/Noncopyable.h: Removed. * kxmlcore/OwnArrayPtr.h: Removed. * kxmlcore/OwnPtr.h: Removed. * kxmlcore/PassRefPtr.h: Removed. * kxmlcore/Platform.h: Removed. * kxmlcore/RefPtr.h: Removed. * kxmlcore/Vector.h: Removed. * wtf: Added. 2006-04-11 Darin Adler - try to fix Windows build * kxmlcore/HashForward.h: Removed. 2006-04-10 Darin Adler Rubber-stamped by John Sullivan. - added forwarding headers for the new Forward.h and HashForward.h files * kxmlcore/Forward.h: Added. * kxmlcore/HashForward.h: Added. 2006-04-04 Timothy Hatcher Reviewed by Darin. The Debug and Release frameworks are now built with install paths relative to the build products directory. This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. * JavaScriptGlue.xcodeproj/project.pbxproj: 2006-04-02 Eric Seidel Reviewed by andersca. Add missing forwarding header. * kxmlcore/Vector.h: Added. 2006-03-31 Geoffrey Garen Reviewed by Darin. - Fixed JavaScript patch crashing Quartz Composer JSValueWrappers used to hold on to the ExecState that pertained at the time of their creation. Since ExecStates are transient, that design was totally bogus, and it would crash once the ExecState had been deallocated. Unfortunately, there's no clean solution to this problem, since the JSGlue API has no notion of state. The solution here is to use a shared, global ExecState for the purpose of JSGlue calls. Given the pre-existing limitations in the JSGlue API, this design shouldn't actually introduce any new limitations (see comments in JSValueWrapper.cpp). I tested with Quartz Composer and PAC files, neither of which are layout-testable. * JSUtils.cpp: (KJSValueToJSObject): * JSValueWrapper.cpp: (JSValueWrapper::JSValueWrapper): (JSValueWrapper::GetValue): (getProcessGlobalExecState): (JSValueWrapper::JSObjectCopyPropertyNames): (JSValueWrapper::JSObjectCopyProperty): (JSValueWrapper::JSObjectSetProperty): (JSValueWrapper::JSObjectCallFunction): (JSValueWrapper::JSObjectCopyCFValue): * JSValueWrapper.h: Also added a test harness file. It was helpful while I was testing, and may come in handy in the future: * JavaScriptGlue.xcodeproj/project.pbxproj: testjsglue.cpp: Added. 2006-03-28 Darin Adler Reviewed by Geoff. - added a build step that checks for init routines * JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the check-for-global-initializers script. 2006-03-02 Maciej Stachowiak Not reviewed, but I noticed these trivial extra changes were needed to avoid breaking the build with my reviewed patch for: http://bugzilla.opendarwin.org/show_bug.cgi?id=7387 Add config.h, includes of it, and Platform.h forwarding header. * JSBase.cpp: * JSObject.cpp: * JSRun.cpp: * JSUtils.cpp: * JSValueWrapper.cpp: * JavaScriptGlue.cpp: * UserObjectImp.cpp: * config.h: Added. * kxmlcore/Platform.h: Added. === JavaScriptGlue-521.7 === 2006-02-10 Geoffrey Garen Reviewed by eric. - Fixed build. * UserObjectImp.cpp: (UserObjectImp::toPrimitive): * UserObjectImp.h: 2006-02-03 Timothy Hatcher Reviewed by Justin. Renamed configuration names to Debug, Release and Production. * JavaScriptGlue.xcodeproj/project.pbxproj: 2006-02-01 Darin Adler - added some forwarding headers to make new JavaScriptCore changes work * kxmlcore/Assertions.h: Added. * kxmlcore/Noncopyable.h: Added. * kxmlcore/OwnPtr.h: Added. * kxmlcore/OwnArrayPtr.h: Added. 2006-01-16 Timothy Hatcher Adding the license header to all files so we can move JavaScriptGlue into the open source repository. * LICENSE: Added. * JSBase.cpp: license header added. * JSBase.h: ditto. * JSObject.cpp: ditto. * JSObject.h: ditto. * JSRun.cpp: ditto. * JSRun.h: ditto. * JSUtils.cpp: ditto. * JSUtils.h: ditto. * JSValueWrapper.cpp: ditto. * JSValueWrapper.h: ditto. * JavaScriptGlue.cpp: ditto. * JavaScriptGlue.h: ditto. * UserObjectImp.cpp: ditto. * UserObjectImp.h: ditto. 2005-12-21 Timothy Hatcher * JavaScriptGlue.xcodeproj/project.pbxproj: Set tab width to 8, indent width to 4 and uses tabs to false per file. 2005-12-19 Darin Adler Reviewed by Geoff Garen and Eric Seidel. - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4923 stop using in WebCore, eliminating the troubles it causes * kxmlcore/AlwaysInline.h: Added. 2005-12-15 Darin Adler Reviewed by Maciej. * JSRun.cpp: (JSRun::Evaluate): Updated for change to Interpreter::evaluate. 2005-12-15 Darin Adler Reviewed by Tim Hatcher. * JavaScriptGlue.xcodeproj/project.pbxproj: Removed some redundant build settings, turned off prebinding explicitly for our Development and Deployment builds, remove .exp file from sources. All "clean-up". === Safari-521~5 === 2005-12-13 Geoffrey Garen - Fixed build after Anders's last checkin to JavaScriptCore. Reviewed by darin. * UserObjectImp.cpp: (UserObjectImp::userObjectGetter): Updated to reflect new argument that getters take (unused here). * UserObjectImp.h: 2005-12-13 Maciej Stachowiak Reviewed by Eric. - added forwarding header for HashCountedSet * kxmlcore/HashCountedSet.h: Added. 2005-12-10 Darin Adler Rubber stamped by Maciej. - updated for KJS class renaming * many files and functions 2005-12-10 Darin Adler Reviewed by Maciej. - eliminated the old Undefined(), Null(), Boolean(), Number(), and String() Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString(). * JSUtils.cpp: (JSObjectKJSValue): * UserObjectImp.cpp: (UserObjectImp::callAsFunction): (UserObjectImp::toPrimitive): 2005-12-05 Maciej Stachowiak - added new forwarding headers * kxmlcore/PassRefPtr.h: Added. * kxmlcore/RefPtr.h: Added. 2005-12-05 Maciej Stachowiak * kxmlcore/PassRefPtr.h: Added. 2005-11-26 Maciej Stachowiak Rubber stamped by Eric. - renamed InterpreterLock to JSLock * JSUtils.cpp: (CFStringToUString): (JSObjectKJSValue): (KJSValueToCFTypeInternal): * JSValueWrapper.cpp: (JSValueWrapper::JSObjectCopyPropertyNames): (JSValueWrapper::JSObjectCopyProperty): (JSValueWrapper::JSObjectSetProperty): (JSValueWrapper::JSObjectCallFunction): (JSValueWrapper::JSObjectCopyCFValue): * JavaScriptGlue.cpp: (JSRunCreate): (JSCollect): (JSLockInterpreter): (JSUnlockInterpreter): * UserObjectImp.cpp: (UserObjectImp::callAsFunction): 2005-11-16 Maciej Stachowiak Reviewed by Geoff. Updated to use new API to drop all locks. * JavaScriptGlue.cpp: (JSLockInterpreter): (JSUnlockInterpreter): * UserObjectImp.cpp: (UserObjectImp::callAsFunction): 2005-11-14 Geoffrey Garen Reviewed by mjs. - Part of the fix for Installer crash in KJS::ValueImp::marked() when garbage collector runs inside call to ConstantValues::init() Added locking in JSRunCreate, since JSRun::JSRun constructs an object. * JavaScriptGlue.cpp: (JSRunCreate): 2005-11-10 Geoffrey Garen Reviewed by Maciej. - Fixed installer crashed on my dual g4 450Mhz after clicking language - Reversed backwards NULL check. - Inserted guards against NULL fJSUserObject data member. - Cleaned up some style. * JSUtils.cpp: (KJSValueToCFTypeInternal): * UserObjectImp.cpp: (UserObjectImp::~UserObjectImp): (UserObjectImp::callAsFunction): (UserObjectImp::userObjectGetter): (UserObjectImp::getOwnPropertySlot): (UserObjectImp::put): (UserObjectImp::mark): 2005-11-04 Timothy Hatcher Reviewed by Darin. * JavaScriptGlue.xcodeproj/project.pbxproj: Fixed the FRAMEWORK_SEARCH_PATHS to look in the WebKit Frameworks for the Default config. 2005-11-03 Timothy Hatcher Reviewed by Darin and Vicki. * JavaScriptGlue.xcodeproj/project.pbxproj: Change to use $(SYSTEM_LIBRARY_DIR) consistently and place $(NEXT_ROOT) in a few spots to make build-root work. 2005-11-01 Maciej Stachowiak Reviewed by: Eric. get JavaScriptGlue working with TOT JavaScriptCore again - reverted all this stuff to use ReferenceList instead of IdentifierSequencedSet * JSUtils.cpp: (KJSValueToCFTypeInternal): * JSValueWrapper.cpp: (JSValueWrapper::JSObjectCopyPropertyNames): * UserObjectImp.cpp: (UserObjectImp::propList): * UserObjectImp.h: 2005-10-11 Timothy Hatcher Setup the proper Framework search path for the Default config. Prepping for a TOT submission and build by B&I. * JavaScriptGlue.xcodeproj/project.pbxproj: 2005-10-10 Darin Adler Reviewed by Eric. - converted tabs to spaces, NULL to 0, added some (void), got rid of __ prefixes in headers (reserved for compiler/library) * Info.plist: * JSBase.cpp: * JSBase.h: * JSObject.cpp: * JSObject.h: * JSRun.cpp: * JSRun.h: * JSUtils.cpp: * JSUtils.h: * JSValueWrapper.cpp: * JSValueWrapper.h: * JavaScriptGlue.cpp: * JavaScriptGlue.h: * UserObjectImp.cpp: * UserObjectImp.h: 2005-10-10 Darin Adler * .cvsignore: Added. Ignore Makefile.in and Makefile. 2005-10-07 Timothy Hatcher Reviewed by Maciej. Build fix, needed to disable RTTI. Upgraded to a native target. * JavaScriptGlue.xcodeproj/project.pbxproj: * Info.plist 2005-10-05 Maciej Stachowiak Reviewed by Eric and Darin. Port JavaScriptGlue to TOT JavaScriptCore * JSRun.cpp: (JSRun::JSRun): (JSRun::GlobalObject): * JSRun.h: (JSInterpreter::JSInterpreter): * JSUtils.cpp: (KJSValueToJSObject): (JSObjectKJSValue): (KJSValueToCFTypeInternal): (KJSValueToCFType): * JSUtils.h: * JSValueWrapper.cpp: (JSValueWrapper::JSValueWrapper): (JSValueWrapper::GetValue): (JSValueWrapper::JSObjectCopyPropertyNames): (JSValueWrapper::JSObjectCopyProperty): (JSValueWrapper::JSObjectSetProperty): (JSValueWrapper::JSObjectCallFunction): (JSValueWrapper::JSObjectMark): * JSValueWrapper.h: * JavaScriptGlue.cpp: (JSRunCopyGlobalObject): * JavaScriptGlue.xcodeproj/project.pbxproj: * Makefile.am: Added. * UserObjectImp.cpp: (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp): (UserObjectImp::UserObjectImp): (UserObjectImp::callAsFunction): (UserObjectImp::getPropertyNames): (UserObjectImp::userObjectGetter): (UserObjectImp::getOwnPropertySlot): (UserObjectImp::put): (UserObjectImp::toPrimitive): (UserObjectImp::mark): * UserObjectImp.h: * kxmlcore/FastMalloc.h: Added. * kxmlcore/HashSet.h: Added. 2005-09-14 Maciej Stachowiak Reviewed by Geoff. - fixed REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer) Make sure to lock using the InterpreterLock class in all places that need it (including anything that uses the collector, the parser, the protect count hash table, and anything that allocates via fast_malloc). * JSUtils.cpp: (CFStringToUString): (JSObjectKJSValue): (KJSValueToCFTypeInternal): * JSUtils.h: * JSValueWrapper.cpp: (JSValueWrapper::JSObjectCopyPropertyNames): (JSValueWrapper::JSObjectCopyProperty): (JSValueWrapper::JSObjectSetProperty): (JSValueWrapper::JSObjectCallFunction): (JSValueWrapper::JSObjectCopyCFValue): * JavaScriptGlue.cpp: (JSCollect): 2005-09-27 Adele Peterson Reviewed by Maciej. JavaScriptGlue: Submit 64-bit compatible versions of your API and SPIs by September 15 * JavaScriptGlue.h: Changed UInt32 to CFTypeID for JSTypeID 2005-09-06 Geoffrey Garen -upgraded project files to XCode 2.1 * JavaScriptGlue.pbproj/project.pbxproj: Removed. * JavaScriptGlue.xcodeproj/.cvsignore: Added. * JavaScriptGlue.xcodeproj/project.pbxproj: Added. 2005-09-01 Maciej Stachowiak Rubber stamped by hyatt. - initial import of JavaScriptGlue into our repository * English.lproj/InfoPlist.strings: Added. * JSBase.cpp: Added. (JSBase::JSBase): (JSBase::~JSBase): (JSBase::Retain): (JSBase::Release): (JSBase::RetainCount): (JSBase::GetTypeID): (JSBase::CopyDescription): (JSBase::Equal): * JSBase.h: Added. * JSObject.cpp: Added. (JSUserObject::JSUserObject): (JSUserObject::~JSUserObject): (JSUserObject::CopyPropertyNames): (JSUserObject::CopyProperty): (JSUserObject::SetProperty): (JSUserObject::ImplementsCall): (JSUserObject::CallFunction): (JSUserObject::CopyCFValue): (JSUserObject::Equal): (JSUserObject::Mark): (JSUserObject::GetData): * JSObject.h: Added. (JSUserObject::DataType): * JSRun.cpp: Added. (JSRun::JSRun): (JSRun::~JSRun): (JSRun::Flags): (JSRun::GetSource): (JSRun::GlobalObject): (JSRun::GetInterpreter): (JSRun::Evaluate): (JSRun::CheckSyntax): * JSRun.h: Added. (JSInterpreter::JSInterpreter): (JSInterpreter::JSInterpreter::~JSInterpreter): (JSInterpreter::Flags): * JSUtils.cpp: Added. (CFStringToUString): (UStringToCFString): (CFStringToIdentifier): (IdentifierToCFString): (KJSValueToJSObject): (JSObjectKJSValue): (KJSValueToCFTypeInternal): (KJSValueToCFType): (GetCFNull): * JSUtils.h: Added. (RetainCFType): (ReleaseCFType): * JSValueWrapper.cpp: Added. (JSValueWrapper::JSValueWrapper): (JSValueWrapper::~JSValueWrapper): (JSValueWrapper::GetValue): (JSValueWrapper::GetExecState): (JSValueWrapper::GetJSObectCallBacks): (JSValueWrapper::JSObjectDispose): (JSValueWrapper::JSObjectCopyPropertyNames): (JSValueWrapper::JSObjectCopyProperty): (JSValueWrapper::JSObjectSetProperty): (JSValueWrapper::JSObjectCallFunction): (JSValueWrapper::JSObjectCopyCFValue): (JSValueWrapper::JSObjectMark): * JSValueWrapper.h: Added. * JavaScriptGlue.cpp: Added. (JSSetCFNull): (JSGetCFNull): (JSRetain): (JSRelease): (JSCopyDescription): (JSEqual): (JSGetTypeID): (JSGetRetainCount): (JSObjectCreate): (JSObjectCreateInternal): (JSObjectCopyCFValue): (JSObjectGetData): (JSObjectCopyProperty): (JSObjectSetProperty): (JSObjectCallFunction): (JSRunCreate): (JSRunCopySource): (JSRunCopyGlobalObject): (JSRunEvaluate): (JSRunCheckSyntax): (JSCollect): (JSTypeGetCFArrayCallBacks): (JSCFRetain): (JSCFRelease): (JSObjectCreateWithCFType): (CFJSObjectDispose): (JSObjectCopyPropertyNames): (CFJSObjectCopyProperty): (CFJSObjectSetProperty): (CFJSObjectCopyCFValue): (CFJSObjectEqual): (CFJSObjectCopyPropertyNames): (JSCreateCFArrayFromJSArray): (JSCreateJSArrayFromCFArray): (JSLockInterpreter): (JSUnlockInterpreter): * JavaScriptGlue.exp: Added. * JavaScriptGlue.h: Added. * JavaScriptGlue.pbproj/project.pbxproj: Added. * UserObjectImp.cpp: Added. (UserObjectPrototypeImp::UserObjectPrototypeImp): (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp): (UserObjectImp::UserObjectImp): (UserObjectImp::~UserObjectImp): (UserObjectImp::classInfo): (UserObjectImp::implementsCall): (UserObjectImp::call): (UserObjectImp::propList): (UserObjectImp::hasProperty): (UserObjectImp::get): (UserObjectImp::put): (UserObjectImp::GetJSUserObject): (UserObjectImp::toPrimitive): (UserObjectImp::toBoolean): (UserObjectImp::toNumber): (UserObjectImp::toString): (UserObjectImp::mark): * UserObjectImp.h: Added.