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