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