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