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