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