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