3758452876c700c40b2f664a4dde022dd60fd196
[WebKit-https.git] / JavaScriptGlue / ChangeLog
1 2007-03-15  Timothy Hatcher  <timothy@apple.com>
2
3         Reviewed by John.
4
5         * Factored out most of our common build settings into .xcconfig files. Anything that was common in
6           each build configuration was factored out into the shared .xcconfig file.
7         * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
8         * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
9         * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
10
11         * Configurations/Base.xcconfig: Added.
12         * Configurations/DebugRelease.xcconfig: Added.
13         * Configurations/JavaScriptGlue.xcconfig: Added.
14         * Configurations/Version.xcconfig: Added.
15         * Info.plist:
16         * JavaScriptGlue.xcodeproj/project.pbxproj:
17
18 2007-03-12  Geoffrey Garen  <ggaren@apple.com>
19
20         Reviewed by Oliver Hunt.
21         
22         Updated in light of fix for <rdar://problem/4681051> Installer crashes 
23         in KJS::Collector::markOtherThreadConservatively(KJS::Collector::Thread*) 
24         trying to install iLife 06 using Rosetta on an Intel Machine
25         
26         * JavaScriptGlue.cpp:
27         (JSLockInterpreter): Ensure backwards compatibility by calling 
28         registerThread() when explicitly taking the JSLock. (This doesn't happen 
29         automatically anymore.) I doubt this actally matters, but in JavaScriptGlue
30         territory, that kind of thinking will get you killed.
31
32 2007-03-06  Geoffrey Garen  <ggaren@apple.com>
33
34         Reviewed by Maciej Stachowiak.
35
36         Fixed all known crashers exposed by run-webkit-tests --threaded while using
37         a PAC file (for maximum carnage). See JavaScriptCore ChangeLog for 
38         more details.
39
40         * JSBase.cpp:
41         (JSBase::Release): Lock when deleting, because we may be deleting an object
42         (like a JSRun) that holds thread-unsafe data.
43
44         * JSUtils.cpp:
45         (CFStringToUString): Don't lock, because our caller locks. Also, locking
46         inside a function that returns thread-unsafe data by copy will only mask
47         threading problems.
48
49         * JavaScriptGlue.cpp:
50         (JSRunEvaluate): Added missing JSLock.
51         (JSRunCheckSyntax): Converted to JSLock.
52         * JavaScriptGlue.xcodeproj/project.pbxproj:
53
54 2007-02-22  Geoffrey Garen  <ggaren@apple.com>
55
56         Reviewed by Darin Adler.
57         
58         Fixed <rdar://problem/4942528> Installer.app Stuck "Examining additional 
59         volumes..."
60         
61         The problem was that JavaScriptGlue held a JSObject in a static pointer
62         without protecting it from garbage collection. 
63         
64             sUserObjectPrototypeImp  = new UserObjectPrototypeImp();
65             static ProtectedPtr<UserObjectPrototypeImp> protectPrototype; // valiant, brave, but useless
66
67         Through an interesting comedy of errors, this object would be collected 
68         and then assigned as the prototype of another object allocated at the 
69         same address, thus becoming its own prototype. (See http://www.ziplo.com/grandpa.htm
70         for further explanation of this phenomenon.) Hence the infinte loop in 
71         property lookup.
72         
73         The solution is equally humorous: all of this code was completely useless --
74         it only served to create an empty object in the prototype chain -- so
75         I just removed it.
76
77         * UserObjectImp.cpp:
78         (UserObjectImp::UserObjectImp):
79         * UserObjectImp.h:
80
81 2007-02-19  Timothy Hatcher  <timothy@apple.com>
82
83         Reviewed by Geoff.
84
85         <rdar://problem/4636301> Deprecate JavaScriptGlue
86
87         * JavaScriptGlue.h: adds DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER to everything
88         * JavaScriptGlue.xcodeproj/project.pbxproj: use -Wno-deprecated-declarations to keep the project building
89         * config.h: define DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER as empty on other systems
90
91 2007-02-16  Darin Adler  <darin@apple.com>
92
93         Reviewed by Anders.
94
95         - fix <rdar://problem/5000216> JavaScriptGlue framework started turning all CFNumbers
96           into signed 32bit values
97
98         Circumstantial evidence seems to indicate that JavaScriptGlue was depending on a bug
99         in CFNumber where CFNumberIsFloatType was returning true for 64-bit integer values.
100
101         * JSUtils.cpp: (JSObjectKJSValue): Removed the call to CFNumberIsFloatType in the
102         conversion of numeric values, and always use kCFNumberDoubleType, since double is
103         the internal format of numbers in JavaScriptCore. There's no value to having a
104         separate code path for integers. There's also no reason to check the return value
105         from CFNumberGetValue -- if it returns false it still does the best it can to convert
106         to a double, which is what we want.
107
108         * UserObjectImp.cpp: (UserObjectImp::toString): Removed a similar code path that
109         tried to handle integers separate from double. Instead, always use a double. For
110         compatibility, use a format without a decimal point when CFNumberIsFloatType returns
111         false. Also removed a bogus cast to float; the "%f" format string takes a double,
112         not a float, so all the cast did was cut down on precision.
113
114 2007-01-25  Mark Rowe  <mrowe@apple.com>
115
116         Reviewed by Maciej.
117
118         * Info.plist: Update copyright string.
119
120 2006-12-19  Timothy Hatcher  <timothy@apple.com>
121
122         Reviewed by Darin.
123
124         <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
125
126         * JavaScriptGlue.xcodeproj/project.pbxproj:
127
128 === Safari-521.26 ===
129
130 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
131
132         Reviewed by Tim H.
133
134         Build fix:  DWARF and -gfull are incompatible with symbol separation.
135
136         * JavaScriptGlue.xcodeproj/project.pbxproj:
137
138 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
139
140         Reviewed by Tim H.
141
142         http://bugs.webkit.org/show_bug.cgi?id=10394
143         Bug 10394: WebKit Release and Production configurations should enable dead code stripping
144
145         * JavaScriptGlue.xcodeproj/project.pbxproj:
146
147 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
148
149         Reviewed by Tim H.
150
151         http://bugs.webkit.org/show_bug.cgi?id=10384
152         Bug 10384: Switch to DWARF for Release configuration
153
154         * JavaScriptGlue.xcodeproj/project.pbxproj:
155
156 2006-08-04  Sam Weinig  <sam.weinig@gmail.com>
157
158         Reviewed by Darin.
159
160         - patch for http://bugs.webkit.org/show_bug.cgi?id=10192
161           Make WebCore (and friends) compile with -Wshorten-64-to-32
162
163           * Adds -Wshorten-64-to-32 flag to Xcode project.
164
165         * JavaScriptGlue.xcodeproj/project.pbxproj:
166
167 2006-08-03  Sam Weinig  <sam.weinig@gmail.com>
168
169         Reviewed by Darin.
170
171         - patch for http://bugs.webkit.org/show_bug.cgi?id=10176
172           Make WebCore compile with -Wundef
173
174           * Adds -Wundef flag to Xcode project
175
176         * JavaScriptGlue.xcodeproj/project.pbxproj:
177
178 2006-07-29  Sam Weinig  <sam.weinig@gmail.com>
179
180         Reviewed by Darin.
181
182         - patch for http://bugs.webkit.org/show_bug.cgi?id=10080
183           Adopt pedantic changes from the Unity project to improve 
184           cross-compiler compatibility
185
186           Changes include:
187           * Turning on gcc warning for missing newline at the end of a source file
188             (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
189
190         * JavaScriptGlue.xcodeproj/project.pbxproj:
191
192 === Safari-521.19 ===
193
194 2006-07-19  Geoffrey Garen  <ggaren@apple.com>
195
196         Fixed by Darin & Maciej, reviewed by me.
197         
198         - Fixed <rdar://problem/4638934> Leopard 9A227: Installer crashes right 
199         after LCA and while preparing Installation
200
201         Compile release/production with NDEBUG set, to ensure binary compatibility
202         between JavaScriptGlue and JavaScriptCore. In debug builds, JavaScriptCore 
203         includes an extra debug data member in HashSet.
204         
205         * JavaScriptGlue.xcodeproj/project.pbxproj:
206
207 === Safari-521.18 ===
208
209 2006-07-15  Maciej Stachowiak  <mjs@apple.com>
210
211         Reviewed by Darin.
212
213         - switch property lists to be vector+set of Identifiers instead of list of References
214         
215         * JSUtils.cpp:
216         (KJSValueToCFTypeInternal): updated for JSC SPI changes
217         * JSValueWrapper.cpp:
218         (JSValueWrapper::JSObjectCopyPropertyNames): ditto
219         * UserObjectImp.cpp:
220         (UserObjectImp::getPropertyNames): ditto
221         * UserObjectImp.h:
222
223 === Safari-521.17 ===
224
225 2006-07-14  Geoffrey Garen  <ggaren@apple.com>
226
227         Reviewed by Maciej.
228         
229         - Updated JSInterpreter to work with Interpreter ref-counting in JavaScriptCore.
230
231         (JSInterpreter::JSInterpreter::~JSInterpreter): Now protected to catch
232         manual delete.
233
234 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
235
236         Build fix
237         
238         * JSUtils.cpp:
239         (KJSValueToCFTypeInternal):
240         * JSValueWrapper.cpp:
241         (JSValueWrapper::JSObjectCopyPropertyNames):
242         * UserObjectImp.cpp:
243         (UserObjectImp::getPropertyList):
244         
245 === Safari-521.15 ===
246
247 2006-07-07  Geoffrey Garen  <ggaren@apple.com>
248
249         - build fix
250
251         * JSUtils.cpp:
252         (KJSValueToCFTypeInternal):
253         * JSValueWrapper.cpp:
254         (JSValueWrapper::JSObjectCopyPropertyNames):
255
256 2006-07-03  Geoffrey Garen  <ggaren@apple.com>
257
258         Reviewed by Maciej.
259         
260         * JSRun.cpp:
261         (JSRun::CheckSyntax): Updated to use new checkSyntax syntax in JSC.
262         * JavaScriptGlue.xcodeproj/project.pbxproj:
263
264 === Safari-521.14 ===
265
266 2006-06-28  Timothy Hatcher  <timothy@apple.com>
267
268         Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
269
270         * JavaScriptGlue.xcodeproj/project.pbxproj:
271
272 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
273
274         Reviewed by Timothy.
275
276         * Info.plist: Fixed copyright to include 2003-2006.
277
278 === JavaScriptGlue-521.13 ===
279         
280 2006-06-20  Geoffrey Garen  <ggaren@apple.com>
281
282         Reviewed by Anders.
283         
284         - Required for JS API: Rename propList to getPropertyList and have it
285         take its target property list by reference so that subclasses can
286         add properties to the list before calling through to their superclasses.
287
288         * JSUtils.cpp:
289         (KJSValueToCFTypeInternal):
290         * JSValueWrapper.cpp:
291         (JSValueWrapper::JSObjectCopyPropertyNames):
292         * UserObjectImp.cpp:
293         (UserObjectImp::getPropertyList):
294         * UserObjectImp.h:
295
296 2006-06-15  Timothy Hatcher  <timothy@apple.com>
297
298         Reviewed by Geoff and Darin.
299         
300         Prefer the DWARF debugging symbols format for use in Xcode 2.3.
301
302         * JavaScriptGlue.xcodeproj/project.pbxproj:
303
304 2006-06-12  Geoffrey Garen  <ggaren@apple.com>
305
306         Reviewed by TimO, Maciej.
307         
308         - JSGlue part of merging InterpreterImp into Interpreter.
309         
310         Since there's now a kjs forwarding header, I moved all forwarding
311         headers into a "ForwardingHeaders" directory, like in WebCore.
312
313         * ForwardingHeaders: Added.
314         * ForwardingHeaders/kjs: Added.
315         * ForwardingHeaders/kjs/ExecState.h: Added.
316         * ForwardingHeaders/wtf: Added.
317         * JavaScriptGlue.xcodeproj/project.pbxproj:
318         * config.h:
319         * wtf: Removed.
320         * wtf/AlwaysInline.h: Removed.
321         * wtf/Assertions.h: Removed.
322         * wtf/FastMalloc.h: Removed.
323         * wtf/Forward.h: Removed.
324         * wtf/HashCountedSet.h: Removed.
325         * wtf/HashSet.h: Removed.
326         * wtf/Noncopyable.h: Removed.
327         * wtf/OwnArrayPtr.h: Removed.
328         * wtf/OwnPtr.h: Removed.
329         * wtf/PassRefPtr.h: Removed.
330         * wtf/Platform.h: Removed.
331         * wtf/RefPtr.h: Removed.
332         * wtf/Vector.h: Removed.
333
334 === JavaScriptGlue-521.10 ===
335
336 2006-05-09  Maciej Stachowiak  <mjs@apple.com>
337
338         Rubber stamped by Anders.
339         
340         - renamed kxmlcore to wtf
341         
342         kxmlcore --> wtf
343         KXMLCore --> WTF
344         KXC --> WTF
345
346         * config.h:
347         * kxmlcore: Removed.
348         * kxmlcore/AlwaysInline.h: Removed.
349         * kxmlcore/Assertions.h: Removed.
350         * kxmlcore/FastMalloc.h: Removed.
351         * kxmlcore/Forward.h: Removed.
352         * kxmlcore/HashCountedSet.h: Removed.
353         * kxmlcore/HashSet.h: Removed.
354         * kxmlcore/Noncopyable.h: Removed.
355         * kxmlcore/OwnArrayPtr.h: Removed.
356         * kxmlcore/OwnPtr.h: Removed.
357         * kxmlcore/PassRefPtr.h: Removed.
358         * kxmlcore/Platform.h: Removed.
359         * kxmlcore/RefPtr.h: Removed.
360         * kxmlcore/Vector.h: Removed.
361         * wtf: Added.
362
363 2006-04-11  Darin Adler  <darin@apple.com>
364
365         - try to fix Windows build
366
367         * kxmlcore/HashForward.h: Removed.
368
369 2006-04-10  Darin Adler  <darin@apple.com>
370
371         Rubber-stamped by John Sullivan.
372
373         - added forwarding headers for the new Forward.h and HashForward.h files
374
375         * kxmlcore/Forward.h: Added.
376         * kxmlcore/HashForward.h: Added.
377
378 2006-04-04  Timothy Hatcher  <timothy@apple.com>
379
380         Reviewed by Darin.
381
382         The Debug and Release frameworks are now built with install paths relative to the build products directory.
383         This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 
384
385         * JavaScriptGlue.xcodeproj/project.pbxproj:
386
387 2006-04-02  Eric Seidel  <eseidel@apple.com>
388
389         Reviewed by andersca.
390
391         Add missing forwarding header.
392
393         * kxmlcore/Vector.h: Added.
394
395 2006-03-31  Geoffrey Garen  <ggaren@apple.com>
396
397         Reviewed by Darin.
398
399         - Fixed <rdar://problem/4430836> JavaScript patch crashing Quartz
400         Composer
401
402         JSValueWrappers used to hold on to the ExecState that pertained at
403         the time of their creation. Since ExecStates are transient, that
404         design was totally bogus, and it would crash once the ExecState had
405         been deallocated.
406
407         Unfortunately, there's no clean solution to this problem, since
408         the JSGlue API has no notion of state. The solution here is to use
409         a shared, global ExecState for the purpose of JSGlue calls. Given
410         the pre-existing limitations in the JSGlue API, this design
411         shouldn't actually introduce any new limitations (see comments in
412         JSValueWrapper.cpp).
413
414         I tested with Quartz Composer and PAC files, neither of which are
415         layout-testable.
416         
417         * JSUtils.cpp:
418         (KJSValueToJSObject):
419         * JSValueWrapper.cpp:
420         (JSValueWrapper::JSValueWrapper):
421         (JSValueWrapper::GetValue):
422         (getProcessGlobalExecState):
423         (JSValueWrapper::JSObjectCopyPropertyNames):
424         (JSValueWrapper::JSObjectCopyProperty):
425         (JSValueWrapper::JSObjectSetProperty):
426         (JSValueWrapper::JSObjectCallFunction):
427         (JSValueWrapper::JSObjectCopyCFValue):
428         * JSValueWrapper.h:
429
430         Also added a test harness file. It was helpful while I was testing,
431         and may come in handy in the future:
432         
433         * JavaScriptGlue.xcodeproj/project.pbxproj:
434         testjsglue.cpp: Added.
435
436 2006-03-28  Darin Adler  <darin@apple.com>
437
438         Reviewed by Geoff.
439
440         - added a build step that checks for init routines
441
442         * JavaScriptGlue.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
443         check-for-global-initializers script.
444
445 2006-03-02  Maciej Stachowiak  <mjs@apple.com>
446
447         Not reviewed, but I noticed these trivial extra changes were needed to avoid
448         breaking the build with my reviewed patch for:
449         
450         http://bugs.webkit.org/show_bug.cgi?id=7387
451         
452         Add config.h, includes of it, and Platform.h forwarding header.
453
454         * JSBase.cpp:
455         * JSObject.cpp:
456         * JSRun.cpp:
457         * JSUtils.cpp:
458         * JSValueWrapper.cpp:
459         * JavaScriptGlue.cpp:
460         * UserObjectImp.cpp:
461         * config.h: Added.
462         * kxmlcore/Platform.h: Added.
463
464 === JavaScriptGlue-521.7 ===
465
466 2006-02-10  Geoffrey Garen  <ggaren@apple.com>
467
468         Reviewed by eric.
469
470         - Fixed build.
471
472         * UserObjectImp.cpp:
473         (UserObjectImp::toPrimitive):
474         * UserObjectImp.h:
475
476 2006-02-03  Timothy Hatcher  <timothy@apple.com>
477
478         Reviewed by Justin.
479
480         Renamed configuration names to Debug, Release and Production.
481
482         * JavaScriptGlue.xcodeproj/project.pbxproj:
483
484 2006-02-01  Darin Adler  <darin@apple.com>
485
486         - added some forwarding headers to make new JavaScriptCore changes work
487
488         * kxmlcore/Assertions.h: Added.
489         * kxmlcore/Noncopyable.h: Added.
490         * kxmlcore/OwnPtr.h: Added.
491         * kxmlcore/OwnArrayPtr.h: Added.
492
493 2006-01-16  Timothy Hatcher  <timothy@apple.com>
494
495         Adding the license header to all files so we can
496         move JavaScriptGlue into the open source repository.
497
498         * LICENSE: Added.
499         * JSBase.cpp: license header added.
500         * JSBase.h: ditto.
501         * JSObject.cpp: ditto.
502         * JSObject.h: ditto.
503         * JSRun.cpp: ditto.
504         * JSRun.h: ditto.
505         * JSUtils.cpp: ditto.
506         * JSUtils.h: ditto.
507         * JSValueWrapper.cpp: ditto.
508         * JSValueWrapper.h: ditto.
509         * JavaScriptGlue.cpp: ditto.
510         * JavaScriptGlue.h: ditto.
511         * UserObjectImp.cpp: ditto.
512         * UserObjectImp.h: ditto.
513
514 2005-12-21  Timothy Hatcher  <timothy@apple.com>
515
516         * JavaScriptGlue.xcodeproj/project.pbxproj:
517           Set tab width to 8, indent width to 4 and uses tabs to false per file.
518
519 2005-12-19  Darin Adler  <darin@apple.com>
520
521         Reviewed by Geoff Garen and Eric Seidel.
522
523         - fix http://bugs.webkit.org/show_bug.cgi?id=4923
524           stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes
525
526         * kxmlcore/AlwaysInline.h: Added.
527
528 2005-12-15  Darin Adler  <darin@apple.com>
529
530         Reviewed by Maciej.
531
532         * JSRun.cpp: (JSRun::Evaluate): Updated for change to Interpreter::evaluate.
533
534 2005-12-15  Darin Adler  <darin@apple.com>
535
536         Reviewed by Tim Hatcher.
537
538         * JavaScriptGlue.xcodeproj/project.pbxproj: Removed some redundant build
539         settings, turned off prebinding explicitly for our Development and
540         Deployment builds, remove .exp file from sources. All "clean-up".
541
542 === Safari-521~5 ===
543
544 2005-12-13  Geoffrey Garen  <ggaren@apple.com>
545
546     - Fixed build after Anders's last checkin to JavaScriptCore.
547     
548         Reviewed by darin.
549
550         * UserObjectImp.cpp:
551         (UserObjectImp::userObjectGetter): Updated to reflect new argument that 
552     getters take (unused here).
553         * UserObjectImp.h:
554
555 2005-12-13  Maciej Stachowiak  <mjs@apple.com>
556
557         Reviewed by Eric.
558
559     - added forwarding header for HashCountedSet
560
561         * kxmlcore/HashCountedSet.h: Added.
562
563 2005-12-10  Darin Adler  <darin@apple.com>
564
565         Rubber stamped by Maciej.
566
567         - updated for KJS class renaming
568
569         * many files and functions
570
571 2005-12-10  Darin Adler  <darin@apple.com>
572
573         Reviewed by Maciej.
574
575         - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()
576
577         Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().
578
579         * JSUtils.cpp:
580         (JSObjectKJSValue):
581         * UserObjectImp.cpp:
582         (UserObjectImp::callAsFunction):
583         (UserObjectImp::toPrimitive):
584
585 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
586
587         - added new forwarding headers
588
589         * kxmlcore/PassRefPtr.h: Added.
590         * kxmlcore/RefPtr.h: Added.
591
592 2005-12-05  Maciej Stachowiak  <mjs@apple.com>
593
594         * kxmlcore/PassRefPtr.h: Added.
595
596 2005-11-26  Maciej Stachowiak  <mjs@apple.com>
597
598         Rubber stamped by Eric.
599
600     - renamed InterpreterLock to JSLock
601
602         * JSUtils.cpp:
603         (CFStringToUString):
604         (JSObjectKJSValue):
605         (KJSValueToCFTypeInternal):
606         * JSValueWrapper.cpp:
607         (JSValueWrapper::JSObjectCopyPropertyNames):
608         (JSValueWrapper::JSObjectCopyProperty):
609         (JSValueWrapper::JSObjectSetProperty):
610         (JSValueWrapper::JSObjectCallFunction):
611         (JSValueWrapper::JSObjectCopyCFValue):
612         * JavaScriptGlue.cpp:
613         (JSRunCreate):
614         (JSCollect):
615         (JSLockInterpreter):
616         (JSUnlockInterpreter):
617         * UserObjectImp.cpp:
618         (UserObjectImp::callAsFunction):
619
620 2005-11-16  Maciej Stachowiak  <mjs@apple.com>
621
622         Reviewed by Geoff.
623
624     Updated to use new API to drop all locks.
625
626         * JavaScriptGlue.cpp:
627         (JSLockInterpreter):
628         (JSUnlockInterpreter):
629         * UserObjectImp.cpp:
630         (UserObjectImp::callAsFunction):
631
632 2005-11-14  Geoffrey Garen  <ggaren@apple.com>
633
634         Reviewed by mjs.
635
636         - Part of the fix for <rdar://problem/4342216> Installer crash in 
637           KJS::ValueImp::marked() when garbage collector runs inside call to 
638           ConstantValues::init()
639           
640         Added locking in JSRunCreate, since JSRun::JSRun constructs an object.
641         
642         * JavaScriptGlue.cpp:
643         (JSRunCreate):
644
645 2005-11-10  Geoffrey Garen  <ggaren@apple.com>
646
647         Reviewed by Maciej.
648
649         - Fixed <rdar://problem/4334445> installer crashed on my 
650           dual g4 450Mhz after clicking language
651
652         - Reversed backwards NULL check.
653         - Inserted guards against NULL fJSUserObject data member.
654         - Cleaned up some style.
655
656         * JSUtils.cpp:
657         (KJSValueToCFTypeInternal):
658         * UserObjectImp.cpp:
659         (UserObjectImp::~UserObjectImp):
660         (UserObjectImp::callAsFunction):
661         (UserObjectImp::userObjectGetter):
662         (UserObjectImp::getOwnPropertySlot):
663         (UserObjectImp::put):
664         (UserObjectImp::mark):
665
666 2005-11-04  Timothy Hatcher  <timothy@apple.com>
667
668         Reviewed by Darin.
669
670         * JavaScriptGlue.xcodeproj/project.pbxproj:
671           Fixed the FRAMEWORK_SEARCH_PATHS to look in the WebKit
672           Frameworks for the Default config.
673
674 2005-11-03  Timothy Hatcher  <timothy@apple.com>
675
676         Reviewed by Darin and Vicki.
677
678         * JavaScriptGlue.xcodeproj/project.pbxproj:
679           Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
680           $(NEXT_ROOT) in a few spots to make build-root work.
681
682 2005-11-01  Maciej Stachowiak  <mjs@apple.com>
683
684     Reviewed by: Eric.
685     
686         <rdar://problem/4324107> get JavaScriptGlue working with TOT JavaScriptCore again
687
688     - reverted all this stuff to use ReferenceList instead of IdentifierSequencedSet
689
690         * JSUtils.cpp:
691         (KJSValueToCFTypeInternal):
692         * JSValueWrapper.cpp:
693         (JSValueWrapper::JSObjectCopyPropertyNames):
694         * UserObjectImp.cpp:
695         (UserObjectImp::propList):
696         * UserObjectImp.h:
697
698 2005-10-11  Timothy Hatcher  <timothy@apple.com>
699
700         Setup the proper Framework search path for the Default config.
701         Prepping for a TOT submission and build by B&I.
702
703         * JavaScriptGlue.xcodeproj/project.pbxproj:
704
705 2005-10-10  Darin Adler  <darin@apple.com>
706
707         Reviewed by Eric.
708
709         - converted tabs to spaces, NULL to 0, added some (void), got rid of __ prefixes
710           in headers (reserved for compiler/library)
711
712         * Info.plist:
713         * JSBase.cpp:
714         * JSBase.h:
715         * JSObject.cpp:
716         * JSObject.h:
717         * JSRun.cpp:
718         * JSRun.h:
719         * JSUtils.cpp:
720         * JSUtils.h:
721         * JSValueWrapper.cpp:
722         * JSValueWrapper.h:
723         * JavaScriptGlue.cpp:
724         * JavaScriptGlue.h:
725         * UserObjectImp.cpp:
726         * UserObjectImp.h:
727
728 2005-10-10  Darin Adler  <darin@apple.com>
729
730         * .cvsignore: Added. Ignore Makefile.in and Makefile.
731
732 2005-10-07  Timothy Hatcher  <timothy@apple.com>
733
734         Reviewed by Maciej.
735         
736         Build fix, needed to disable RTTI. Upgraded to a native target.
737
738         * JavaScriptGlue.xcodeproj/project.pbxproj:
739         * Info.plist
740
741 2005-10-05  Maciej Stachowiak  <mjs@apple.com>
742
743         Reviewed by Eric and Darin.
744
745     <rdar://problem/4260506> Port JavaScriptGlue to TOT JavaScriptCore
746
747         * JSRun.cpp:
748         (JSRun::JSRun):
749         (JSRun::GlobalObject):
750         * JSRun.h:
751         (JSInterpreter::JSInterpreter):
752         * JSUtils.cpp:
753         (KJSValueToJSObject):
754         (JSObjectKJSValue):
755         (KJSValueToCFTypeInternal):
756         (KJSValueToCFType):
757         * JSUtils.h:
758         * JSValueWrapper.cpp:
759         (JSValueWrapper::JSValueWrapper):
760         (JSValueWrapper::GetValue):
761         (JSValueWrapper::JSObjectCopyPropertyNames):
762         (JSValueWrapper::JSObjectCopyProperty):
763         (JSValueWrapper::JSObjectSetProperty):
764         (JSValueWrapper::JSObjectCallFunction):
765         (JSValueWrapper::JSObjectMark):
766         * JSValueWrapper.h:
767         * JavaScriptGlue.cpp:
768         (JSRunCopyGlobalObject):
769         * JavaScriptGlue.xcodeproj/project.pbxproj:
770         * Makefile.am: Added.
771         * UserObjectImp.cpp:
772         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
773         (UserObjectImp::UserObjectImp):
774         (UserObjectImp::callAsFunction):
775         (UserObjectImp::getPropertyNames):
776         (UserObjectImp::userObjectGetter):
777         (UserObjectImp::getOwnPropertySlot):
778         (UserObjectImp::put):
779         (UserObjectImp::toPrimitive):
780         (UserObjectImp::mark):
781         * UserObjectImp.h:
782         * kxmlcore/FastMalloc.h: Added.
783         * kxmlcore/HashSet.h: Added.
784
785 2005-09-14  Maciej Stachowiak  <mjs@apple.com>
786
787         Reviewed by Geoff.
788
789     - fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
790
791     Make sure to lock using the InterpreterLock class in all places that need it
792     (including anything that uses the collector, the parser, the protect count hash table,
793     and anything that allocates via fast_malloc).
794
795         * JSUtils.cpp:
796         (CFStringToUString):
797         (JSObjectKJSValue):
798         (KJSValueToCFTypeInternal):
799         * JSUtils.h:
800         * JSValueWrapper.cpp:
801         (JSValueWrapper::JSObjectCopyPropertyNames):
802         (JSValueWrapper::JSObjectCopyProperty):
803         (JSValueWrapper::JSObjectSetProperty):
804         (JSValueWrapper::JSObjectCallFunction):
805         (JSValueWrapper::JSObjectCopyCFValue):
806         * JavaScriptGlue.cpp:
807         (JSCollect):
808
809 2005-09-27  Adele Peterson  <adele@apple.com>
810
811         Reviewed by Maciej.
812
813         <rdar://problem/4223297> JavaScriptGlue: Submit 64-bit compatible versions of your API and SPIs by September 15
814
815         * JavaScriptGlue.h: Changed UInt32 to CFTypeID for JSTypeID
816
817 2005-09-06  Geoffrey Garen  <ggaren@apple.com>
818
819         -upgraded project files to XCode 2.1
820
821         * JavaScriptGlue.pbproj/project.pbxproj: Removed.
822         * JavaScriptGlue.xcodeproj/.cvsignore: Added.
823         * JavaScriptGlue.xcodeproj/project.pbxproj: Added.
824
825 2005-09-01  Maciej Stachowiak  <mjs@apple.com>
826
827         Rubber stamped by hyatt.
828
829     - initial import of JavaScriptGlue into our repository
830
831         * English.lproj/InfoPlist.strings: Added.
832         * JSBase.cpp: Added.
833         (JSBase::JSBase):
834         (JSBase::~JSBase):
835         (JSBase::Retain):
836         (JSBase::Release):
837         (JSBase::RetainCount):
838         (JSBase::GetTypeID):
839         (JSBase::CopyDescription):
840         (JSBase::Equal):
841         * JSBase.h: Added.
842         * JSObject.cpp: Added.
843         (JSUserObject::JSUserObject):
844         (JSUserObject::~JSUserObject):
845         (JSUserObject::CopyPropertyNames):
846         (JSUserObject::CopyProperty):
847         (JSUserObject::SetProperty):
848         (JSUserObject::ImplementsCall):
849         (JSUserObject::CallFunction):
850         (JSUserObject::CopyCFValue):
851         (JSUserObject::Equal):
852         (JSUserObject::Mark):
853         (JSUserObject::GetData):
854         * JSObject.h: Added.
855         (JSUserObject::DataType):
856         * JSRun.cpp: Added.
857         (JSRun::JSRun):
858         (JSRun::~JSRun):
859         (JSRun::Flags):
860         (JSRun::GetSource):
861         (JSRun::GlobalObject):
862         (JSRun::GetInterpreter):
863         (JSRun::Evaluate):
864         (JSRun::CheckSyntax):
865         * JSRun.h: Added.
866         (JSInterpreter::JSInterpreter):
867         (JSInterpreter::JSInterpreter::~JSInterpreter):
868         (JSInterpreter::Flags):
869         * JSUtils.cpp: Added.
870         (CFStringToUString):
871         (UStringToCFString):
872         (CFStringToIdentifier):
873         (IdentifierToCFString):
874         (KJSValueToJSObject):
875         (JSObjectKJSValue):
876         (KJSValueToCFTypeInternal):
877         (KJSValueToCFType):
878         (GetCFNull):
879         * JSUtils.h: Added.
880         (RetainCFType):
881         (ReleaseCFType):
882         * JSValueWrapper.cpp: Added.
883         (JSValueWrapper::JSValueWrapper):
884         (JSValueWrapper::~JSValueWrapper):
885         (JSValueWrapper::GetValue):
886         (JSValueWrapper::GetExecState):
887         (JSValueWrapper::GetJSObectCallBacks):
888         (JSValueWrapper::JSObjectDispose):
889         (JSValueWrapper::JSObjectCopyPropertyNames):
890         (JSValueWrapper::JSObjectCopyProperty):
891         (JSValueWrapper::JSObjectSetProperty):
892         (JSValueWrapper::JSObjectCallFunction):
893         (JSValueWrapper::JSObjectCopyCFValue):
894         (JSValueWrapper::JSObjectMark):
895         * JSValueWrapper.h: Added.
896         * JavaScriptGlue.cpp: Added.
897         (JSSetCFNull):
898         (JSGetCFNull):
899         (JSRetain):
900         (JSRelease):
901         (JSCopyDescription):
902         (JSEqual):
903         (JSGetTypeID):
904         (JSGetRetainCount):
905         (JSObjectCreate):
906         (JSObjectCreateInternal):
907         (JSObjectCopyCFValue):
908         (JSObjectGetData):
909         (JSObjectCopyProperty):
910         (JSObjectSetProperty):
911         (JSObjectCallFunction):
912         (JSRunCreate):
913         (JSRunCopySource):
914         (JSRunCopyGlobalObject):
915         (JSRunEvaluate):
916         (JSRunCheckSyntax):
917         (JSCollect):
918         (JSTypeGetCFArrayCallBacks):
919         (JSCFRetain):
920         (JSCFRelease):
921         (JSObjectCreateWithCFType):
922         (CFJSObjectDispose):
923         (JSObjectCopyPropertyNames):
924         (CFJSObjectCopyProperty):
925         (CFJSObjectSetProperty):
926         (CFJSObjectCopyCFValue):
927         (CFJSObjectEqual):
928         (CFJSObjectCopyPropertyNames):
929         (JSCreateCFArrayFromJSArray):
930         (JSCreateJSArrayFromCFArray):
931         (JSLockInterpreter):
932         (JSUnlockInterpreter):
933         * JavaScriptGlue.exp: Added.
934         * JavaScriptGlue.h: Added.
935         * JavaScriptGlue.pbproj/project.pbxproj: Added.
936         * UserObjectImp.cpp: Added.
937         (UserObjectPrototypeImp::UserObjectPrototypeImp):
938         (UserObjectPrototypeImp::GlobalUserObjectPrototypeImp):
939         (UserObjectImp::UserObjectImp):
940         (UserObjectImp::~UserObjectImp):
941         (UserObjectImp::classInfo):
942         (UserObjectImp::implementsCall):
943         (UserObjectImp::call):
944         (UserObjectImp::propList):
945         (UserObjectImp::hasProperty):
946         (UserObjectImp::get):
947         (UserObjectImp::put):
948         (UserObjectImp::GetJSUserObject):
949         (UserObjectImp::toPrimitive):
950         (UserObjectImp::toBoolean):
951         (UserObjectImp::toNumber):
952         (UserObjectImp::toString):
953         (UserObjectImp::mark):
954         * UserObjectImp.h: Added.
955