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